diff --git a/dgl/Application.hpp b/dgl/Application.hpp index 85c3770f..6787c493 100644 --- a/dgl/Application.hpp +++ b/dgl/Application.hpp @@ -49,7 +49,7 @@ public: /** Destructor. */ - ~Application(); + virtual ~Application(); /** Idle function. diff --git a/dgl/ImageWidgets.hpp b/dgl/ImageWidgets.hpp index 5c23319b..aafe1962 100644 --- a/dgl/ImageWidgets.hpp +++ b/dgl/ImageWidgets.hpp @@ -79,7 +79,7 @@ private: struct PrivateData; PrivateData* const pData; - DISTRHO_LEAK_DETECTOR(ImageButton) + DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ImageButton) }; // ----------------------------------------------------------------------- @@ -225,7 +225,7 @@ private: void setAbsolutePos(int, int) const noexcept {} void setAbsolutePos(const Point&) const noexcept {} - DISTRHO_LEAK_DETECTOR(ImageSlider) + DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(ImageSlider) }; // ----------------------------------------------------------------------- diff --git a/dgl/Makefile.mk b/dgl/Makefile.mk index 5ebdd13e..ab3ac6aa 100644 --- a/dgl/Makefile.mk +++ b/dgl/Makefile.mk @@ -25,11 +25,6 @@ endif BASE_FLAGS = -Wall -Wextra -pipe -MD -MP BASE_OPTS = -O2 -mtune=generic -msse -msse2 -fdata-sections -ffunction-sections -ifneq ($(MACOS_OLD),true) -# Old MacOS doesn't support this -BASE_OPTS += -mfpmath=sse -endif - ifeq ($(MACOS),true) # MacOS linker flags LINK_OPTS = -fdata-sections -ffunction-sections -Wl,-dead_strip -Wl,-dead_strip_dylibs @@ -64,11 +59,13 @@ endif BUILD_C_FLAGS = $(BASE_FLAGS) -std=c99 $(CFLAGS) BUILD_CXX_FLAGS = $(BASE_FLAGS) -std=c++11 $(CXXFLAGS) $(CPPFLAGS) -LINK_FLAGS = $(LINK_OPTS) -Wl,--no-undefined $(LDFLAGS) ifeq ($(MACOS),true) # 'no-undefined' is always enabled LINK_FLAGS = $(LINK_OPTS) $(LDFLAGS) +else +# Specify 'no-undefined' +LINK_FLAGS = $(LINK_OPTS) -Wl,--no-undefined $(LDFLAGS) endif ifeq ($(MACOS_OLD),true) diff --git a/dgl/src/Geometry.cpp b/dgl/src/Geometry.cpp index 11916c56..2aafce70 100644 --- a/dgl/src/Geometry.cpp +++ b/dgl/src/Geometry.cpp @@ -655,13 +655,13 @@ void Circle::_draw(const bool outline) { DISTRHO_SAFE_ASSERT_RETURN(fNumSegments >= 3 && fSize > 0.0f,); - float t, x = fSize, y = 0.0f; + double t, x = fSize, y = 0.0; glBegin(outline ? GL_LINE_LOOP : GL_POLYGON); for (uint i=0; i(self->getHeight()) - absolutePos.getY(), + static_cast(height - self->getHeight()) - absolutePos.getY(), static_cast(self->getWidth()), static_cast(self->getHeight())); } @@ -89,13 +90,13 @@ struct Widget::PrivateData { { // only set viewport pos glViewport(absolutePos.getX(), - /*height - static_cast(self->getHeight())*/ - absolutePos.getY(), - static_cast(width), - static_cast(height)); + /*static_cast(height - self->getHeight())*/ - absolutePos.getY(), + static_cast(width), + static_cast(height)); // then cut the outer bounds glScissor(absolutePos.getX(), - height - static_cast(self->getHeight()) - absolutePos.getY(), + static_cast(height - self->getHeight()) - absolutePos.getY(), static_cast(self->getWidth()), static_cast(self->getHeight())); diff --git a/distrho/DistrhoUtils.hpp b/distrho/DistrhoUtils.hpp index 967821d1..9b768cb8 100644 --- a/distrho/DistrhoUtils.hpp +++ b/distrho/DistrhoUtils.hpp @@ -68,7 +68,7 @@ int64_t d_cconst(const uint8_t a, const uint8_t b, const uint8_t c, const uint8_ static inline uint32_t d_version(const uint8_t major, const uint8_t minor, const uint8_t micro) noexcept { - return (major << 16) | (minor << 8) | (micro << 0); + return uint32_t(major << 16) | uint32_t(minor << 8) | (micro << 0); } /*