DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

commit 44ea88dd80c726e118ffd2fc88362324134b3f90
parent f7c4fd4b234479b4e99be80ced9e61cd1ef4c080
Author: falkTX <falktx@falktx.com>
Date:   Wed, 25 Aug 2021 09:14:04 +0100

Fix embed external ui closing too early

Signed-off-by: falkTX <falktx@falktx.com>

Diffstat:
Mdistrho/extra/ExternalWindow.hpp | 8++++----
Mexamples/EmbedExternalUI/EmbedExternalExampleUI.cpp | 10++++++++++
2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/distrho/extra/ExternalWindow.hpp b/distrho/extra/ExternalWindow.hpp @@ -79,10 +79,7 @@ public: virtual bool isQuitting() const { - if (ext.inUse) - return ext.isQuitting; - - return !isVisible(); + return ext.inUse ? ext.isQuitting : pData.isQuitting; } /** @@ -90,6 +87,7 @@ public: */ virtual void close() { + pData.isQuitting = true; hide(); if (ext.inUse) @@ -436,6 +434,7 @@ private: uint height; double scaleFactor; String title; + bool isQuitting; bool visible; PrivateData() @@ -445,6 +444,7 @@ private: height(1), scaleFactor(1.0), title(), + isQuitting(false), visible(false) {} } pData; diff --git a/examples/EmbedExternalUI/EmbedExternalExampleUI.cpp b/examples/EmbedExternalUI/EmbedExternalExampleUI.cpp @@ -125,6 +125,16 @@ protected: /* -------------------------------------------------------------------------------------------------------- * External Window overrides */ + uintptr_t getNativeWindowHandle() const noexcept override + { +#if defined(DISTRHO_OS_MAC) +#elif defined(DISTRHO_OS_WINDOWS) +#else + return (uintptr_t)fWindow; +#endif + return 0; + } + void titleChanged(const char* const title) override { d_stdout("visibilityChanged %s", title);