commit dc9b23badba6b2c0f3f1143c96df352da2209f98
parent a7db13548f89142b4d429f923861d1bf9080b907
Author: falkTX <falktx@gmail.com>
Date: Fri, 15 Aug 2014 01:21:50 +0100
Fix DSSI UIs closing prematurely
Diffstat:
1 file changed, 9 insertions(+), 0 deletions(-)
diff --git a/distrho/src/DistrhoUIDSSI.cpp b/distrho/src/DistrhoUIDSSI.cpp
@@ -95,6 +95,7 @@ public:
UIDssi(const OscData& oscData, const char* const uiTitle)
: fUI(this, 0, nullptr, setParameterCallback, setStateCallback, sendNoteCallback, setSizeCallback),
fHostClosed(false),
+ fShowCalled(false),
fOscData(oscData)
{
fUI.setTitle(uiTitle);
@@ -113,6 +114,12 @@ public:
fOscData.idle();
if (! fUI.idle())
+ {
+ // host might not have called show yet
+ if (fShowCalled)
+ break;
+ }
+ else if (fHostClosed)
break;
d_msleep(30);
@@ -142,6 +149,7 @@ public:
void dssiui_show()
{
+ fShowCalled = true;
fUI.setVisible(true);
}
@@ -196,6 +204,7 @@ protected:
private:
UIExporter fUI;
bool fHostClosed;
+ bool fShowCalled;
const OscData& fOscData;