diff --git a/distrho/src/DistrhoPluginInternal.hpp b/distrho/src/DistrhoPluginInternal.hpp index e175f5e8..e42fe867 100644 --- a/distrho/src/DistrhoPluginInternal.hpp +++ b/distrho/src/DistrhoPluginInternal.hpp @@ -309,6 +309,9 @@ struct Plugin::PrivateData { #if DISTRHO_PLUGIN_WANT_STATE bool updateStateValueCallback(const char* const key, const char* const value) { + DISTRHO_SAFE_ASSERT_RETURN(key != nullptr && key[0] != '\0', false); + DISTRHO_SAFE_ASSERT_RETURN(value != nullptr, false); + d_stdout("updateStateValueCallback %p", updateStateValueCallbackFunc); if (updateStateValueCallbackFunc != nullptr) return updateStateValueCallbackFunc(callbacksPtr, key, value); diff --git a/distrho/src/DistrhoUI.cpp b/distrho/src/DistrhoUI.cpp index a8fb9602..d6ee6170 100644 --- a/distrho/src/DistrhoUI.cpp +++ b/distrho/src/DistrhoUI.cpp @@ -171,18 +171,18 @@ static double getDesktopScaleFactor(const uintptr_t parentWindowHandle) UI::PrivateData* UI::PrivateData::s_nextPrivateData = nullptr; -PluginWindow& UI::PrivateData::createNextWindow(UI* const ui, uint width, uint height, const bool adjustForScaleFactor) +PluginWindow& UI::PrivateData::createNextWindow(UI* const ui, uint width, uint height) { UI::PrivateData* const uiData = s_nextPrivateData; const double scaleFactor = d_isNotZero(uiData->scaleFactor) ? uiData->scaleFactor : getDesktopScaleFactor(uiData->winId); - if (adjustForScaleFactor && d_isNotZero(scaleFactor) && d_isNotEqual(scaleFactor, 1.0)) + if (d_isNotZero(scaleFactor) && d_isNotEqual(scaleFactor, 1.0)) { width *= scaleFactor; height *= scaleFactor; } - d_stdout("createNextWindow %u %u %f %d", width, height, scaleFactor, adjustForScaleFactor); + d_stdout("createNextWindow %u %u %d", width, height, scaleFactor); uiData->window = new PluginWindow(ui, uiData->app, uiData->winId, width, height, scaleFactor); if (uiData->callbacksPtr != nullptr) @@ -323,13 +323,7 @@ UI::UI(const uint width, const uint height, const bool automaticallyScaleAndSetA #ifdef DISTRHO_UI_DEFAULT_HEIGHT height == 0 ? DISTRHO_UI_DEFAULT_HEIGHT : #endif - height, - // adjustForScaleFactor - #ifdef DISTRHO_UI_DEFAULT_WIDTH - width == 0 - #else - false - #endif + height )), uiData(UI::PrivateData::s_nextPrivateData) { diff --git a/distrho/src/DistrhoUIPrivateData.hpp b/distrho/src/DistrhoUIPrivateData.hpp index 03a5b253..bcbcbfcc 100644 --- a/distrho/src/DistrhoUIPrivateData.hpp +++ b/distrho/src/DistrhoUIPrivateData.hpp @@ -352,6 +352,9 @@ struct UI::PrivateData { void setStateCallback(const char* const key, const char* const value) { + DISTRHO_SAFE_ASSERT_RETURN(key != nullptr && key[0] != '\0',); + DISTRHO_SAFE_ASSERT_RETURN(value != nullptr,); + if (setStateCallbackFunc != nullptr) setStateCallbackFunc(callbacksPtr, key, value); } @@ -364,6 +367,8 @@ struct UI::PrivateData { void setSizeCallback(const uint width, const uint height) { + DISTRHO_SAFE_ASSERT_RETURN(width != 0 && height != 0,); + if (setSizeCallbackFunc != nullptr) setSizeCallbackFunc(callbacksPtr, width, height); } @@ -372,7 +377,7 @@ struct UI::PrivateData { bool fileRequestCallback(const char* key); static UI::PrivateData* s_nextPrivateData; - static PluginWindow& createNextWindow(UI* ui, uint width, uint height, bool adjustForScaleFactor); + static PluginWindow& createNextWindow(UI* ui, uint width, uint height); #if DISTRHO_UI_USE_WEB_VIEW static void webViewMessageCallback(void* arg, char* msg); #endif