diff --git a/distrho/src/DistrhoUIVST3.cpp b/distrho/src/DistrhoUIVST3.cpp index 5a52d376..44469e71 100644 --- a/distrho/src/DistrhoUIVST3.cpp +++ b/distrho/src/DistrhoUIVST3.cpp @@ -306,7 +306,6 @@ public: } else if (fNeedsResizeFromPlugin) { - fNeedsResizeFromPlugin = false; setSize(fUI.getWidth(), fUI.getHeight()); } @@ -669,6 +668,12 @@ public: requestMorePluginData(); } + if (fNeedsResizeFromPlugin) + { + fNeedsResizeFromPlugin = false; + d_stdout("first resize forced behaviour is now stopped"); + } + if (fIsResizingFromHost) { fIsResizingFromHost = false; @@ -798,12 +803,21 @@ private: if (fIsResizingFromHost) { - d_stdout("plugin->host setSize %u %u (IGNORED, host resize active)", width, height); - return; + if (fNeedsResizeFromPlugin) + { + d_stdout("plugin->host setSize %u %u (FORCED, exception for first resize)", width, height); + } + else + { + d_stdout("plugin->host setSize %u %u (IGNORED, host resize active)", width, height); + return; + } + } + else + { + d_stdout("plugin->host setSize %u %u (OK)", width, height); } - d_stdout("plugin->host setSize %u %u (OK)", width, height); - fIsResizingFromPlugin = true; v3_view_rect rect;