From 0b297f2e4ef901dddd1547a39141bd1d8f01d303 Mon Sep 17 00:00:00 2001 From: falkTX Date: Mon, 7 Apr 2014 15:04:00 +0100 Subject: [PATCH] Misc fixing; Set _NET_WM_PID on internal X11 windows --- source/Makefile.mk | 10 ++++++---- source/backend/plugin/CarlaPluginThread.cpp | 2 ++ source/backend/plugin/CarlaPluginUi.cpp | 5 +++++ source/modules/jackbridge/JackBridge.hpp | 10 +++++----- source/modules/jackbridge/JackBridge2.cpp | 10 +++++----- source/modules/native-plugins/midi-base.hpp | 10 +++++----- source/modules/native-plugins/vex/VexVoice.h | 2 +- .../native-plugins/vex/lookandfeel/MyLookAndFeel.cpp | 6 +++--- 8 files changed, 32 insertions(+), 23 deletions(-) diff --git a/source/Makefile.mk b/source/Makefile.mk index 5a6646150..a1e85b4cf 100644 --- a/source/Makefile.mk +++ b/source/Makefile.mk @@ -87,12 +87,14 @@ endif ifeq ($(TESTBUILD),true) BASE_FLAGS += -Werror -Wcast-qual -Wconversion -Wformat -Wformat-security -Wredundant-decls -Wshadow -Wstrict-overflow -fstrict-overflow -Wundef -Wwrite-strings -# ifneq ($(CC),clang) +ifneq ($(CC),clang) BASE_FLAGS += -Wcast-align -Wunsafe-loop-optimizations -# endif -# -Wsuggest-attribute=noreturn +endif ifneq ($(MACOS),true) -BASE_FLAGS += -Wlogical-op -Wmissing-declarations -Wsign-conversion +BASE_FLAGS += -Wmissing-declarations -Wsign-conversion +ifneq ($(CC),clang) +BASE_FLAGS += -Wlogical-op +endif endif CFLAGS += -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes CXXFLAGS += -Wnon-virtual-dtor -Woverloaded-virtual diff --git a/source/backend/plugin/CarlaPluginThread.cpp b/source/backend/plugin/CarlaPluginThread.cpp index 7785f060d..510db84fd 100644 --- a/source/backend/plugin/CarlaPluginThread.cpp +++ b/source/backend/plugin/CarlaPluginThread.cpp @@ -24,6 +24,7 @@ CARLA_BACKEND_START_NAMESPACE +#ifdef DEBUG static inline const char* PluginThreadMode2str(const CarlaPluginThread::Mode mode) { @@ -44,6 +45,7 @@ const char* PluginThreadMode2str(const CarlaPluginThread::Mode mode) carla_stderr("CarlaPluginThread::PluginThreadMode2str(%i) - invalid mode", mode); return nullptr; } +#endif CarlaPluginThread::CarlaPluginThread(CarlaBackend::CarlaEngine* const engine, CarlaBackend::CarlaPlugin* const plugin, const Mode mode) : CarlaThread("CarlaPluginThread"), diff --git a/source/backend/plugin/CarlaPluginUi.cpp b/source/backend/plugin/CarlaPluginUi.cpp index 9c1e26c17..369d21621 100644 --- a/source/backend/plugin/CarlaPluginUi.cpp +++ b/source/backend/plugin/CarlaPluginUi.cpp @@ -19,6 +19,7 @@ #include "CarlaHost.h" #ifdef HAVE_X11 +# include # include # include # include @@ -58,6 +59,10 @@ public: Atom wmDelete = XInternAtom(fDisplay, "WM_DELETE_WINDOW", True); XSetWMProtocols(fDisplay, fWindow, &wmDelete, 1); + pid_t pid = getpid(); + Atom _nwp = XInternAtom(fDisplay, "_NET_WM_PID", True); + XChangeProperty(fDisplay, fWindow, _nwp, XA_CARDINAL, 32, PropModeReplace, (const uchar*)&pid, 1); + if (parentId != 0) setTransientWinId(parentId); } diff --git a/source/modules/jackbridge/JackBridge.hpp b/source/modules/jackbridge/JackBridge.hpp index a27dfd77e..d6cfcdc3d 100644 --- a/source/modules/jackbridge/JackBridge.hpp +++ b/source/modules/jackbridge/JackBridge.hpp @@ -380,10 +380,10 @@ CARLA_EXPORT bool jackbridge_sem_destroy(void* sem) noexcept; CARLA_EXPORT bool jackbridge_sem_post(void* sem) noexcept; CARLA_EXPORT bool jackbridge_sem_timedwait(void* sem, int secs); -CARLA_EXPORT bool jackbridge_shm_is_valid(char* shm); -CARLA_EXPORT void jackbridge_shm_init(char* shm); -CARLA_EXPORT void jackbridge_shm_attach(char* shm, const char* name); -CARLA_EXPORT void jackbridge_shm_close(char* shm); -CARLA_EXPORT void* jackbridge_shm_map(char* shm, size_t size); +CARLA_EXPORT bool jackbridge_shm_is_valid(void* shm); +CARLA_EXPORT void jackbridge_shm_init(void* shm); +CARLA_EXPORT void jackbridge_shm_attach(void* shm, const char* name); +CARLA_EXPORT void jackbridge_shm_close(void* shm); +CARLA_EXPORT void* jackbridge_shm_map(void* shm, size_t size); #endif // JACKBRIDGE_HPP_INCLUDED diff --git a/source/modules/jackbridge/JackBridge2.cpp b/source/modules/jackbridge/JackBridge2.cpp index df36e63df..08dabbf0b 100644 --- a/source/modules/jackbridge/JackBridge2.cpp +++ b/source/modules/jackbridge/JackBridge2.cpp @@ -120,31 +120,31 @@ bool jackbridge_sem_timedwait(void* sem, int secs) # endif } -bool jackbridge_shm_is_valid(char* shm) +bool jackbridge_shm_is_valid(void* shm) { shm_t* t = (shm_t*)shm; return carla_is_shm_valid(*t); } -void jackbridge_shm_init(char* shm) +void jackbridge_shm_init(void* shm) { shm_t* t = (shm_t*)shm; carla_shm_init(*t); } -void jackbridge_shm_attach(char* shm, const char* name) +void jackbridge_shm_attach(void* shm, const char* name) { shm_t* t = (shm_t*)shm; *t = carla_shm_attach(name); } -void jackbridge_shm_close(char* shm) +void jackbridge_shm_close(void* shm) { shm_t* t = (shm_t*)shm; carla_shm_close(*t); } -void* jackbridge_shm_map(char* shm, size_t size) +void* jackbridge_shm_map(void* shm, size_t size) { shm_t* t = (shm_t*)shm; return carla_shm_map(*t, size); diff --git a/source/modules/native-plugins/midi-base.hpp b/source/modules/native-plugins/midi-base.hpp index f7fa42948..47b354922 100644 --- a/source/modules/native-plugins/midi-base.hpp +++ b/source/modules/native-plugins/midi-base.hpp @@ -52,9 +52,9 @@ class MidiPattern { public: MidiPattern(AbstractMidiPlayer* const player) - : kPlayer(player), - fStartTime(0), - fDuration(0) + : kPlayer(player) + //fStartTime(0), + //fDuration(0) { CARLA_ASSERT(kPlayer != nullptr); } @@ -200,8 +200,8 @@ public: private: AbstractMidiPlayer* const kPlayer; - uint32_t fStartTime; // unused - uint32_t fDuration; // unused + //uint32_t fStartTime; // unused + //uint32_t fDuration; // unused CarlaMutex fMutex; LinkedList fData; diff --git a/source/modules/native-plugins/vex/VexVoice.h b/source/modules/native-plugins/vex/VexVoice.h index fb9d28325..a4ca272e2 100644 --- a/source/modules/native-plugins/vex/VexVoice.h +++ b/source/modules/native-plugins/vex/VexVoice.h @@ -88,7 +88,7 @@ private: float Fvelocity; double SampleRate; float BaseFrequency; - float lfoC, LFOA, LFOP, LFOF; + float lfoC, LFOA, LFOF; float lfoS[2]; float lowL, bandL, highL, lowR, bandR, highR, q, cut; }; diff --git a/source/modules/native-plugins/vex/lookandfeel/MyLookAndFeel.cpp b/source/modules/native-plugins/vex/lookandfeel/MyLookAndFeel.cpp index 82f5c7277..2ce8e592a 100644 --- a/source/modules/native-plugins/vex/lookandfeel/MyLookAndFeel.cpp +++ b/source/modules/native-plugins/vex/lookandfeel/MyLookAndFeel.cpp @@ -114,7 +114,7 @@ void MyLookAndFeel::drawRotarySlider(Graphics& g, float sliderPos, const float rotaryStartAngle, const float rotaryEndAngle, - Slider& slider) override + Slider& /*slider*/) override { const float radius = jmin (width / 2, height / 2) - 2.0f; const float centreX = x + width * 0.5f; @@ -123,9 +123,9 @@ void MyLookAndFeel::drawRotarySlider(Graphics& g, const float ry = centreY - radius; const float rw = radius * 2.0f; const float angle = rotaryStartAngle + sliderPos * (rotaryEndAngle - rotaryStartAngle); - //const bool isMouseOver = slider.isMouseOverOrDragging() && slider.isEnabled(); - // const float zeroPos = rotaryStartAngle + fabs((float)slider.getMinimum() / ((float)slider.getMaximum() - (float)slider.getMinimum())) * (rotaryEndAngle - rotaryStartAngle); + //const bool isMouseOver = slider.isMouseOverOrDragging() && slider.isEnabled(); + //const float zeroPos = rotaryStartAngle + fabs((float)slider.getMinimum() / ((float)slider.getMaximum() - (float)slider.getMinimum())) * (rotaryEndAngle - rotaryStartAngle); Path p;