commit b9e654c3d331933dbeae0413246be8dc2bd64a58
parent aa99d51731cf915d83abb578c232b89fbad6c231
Author: falkTX <falktx@falktx.com>
Date: Fri, 8 Jul 2022 02:28:14 +0100
Fix wasm returning non-null invalid value for open file; Cleanup
Signed-off-by: falkTX <falktx@falktx.com>
Diffstat:
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/distrho/extra/FileBrowserDialogImpl.cpp b/distrho/extra/FileBrowserDialogImpl.cpp
@@ -490,6 +490,8 @@ FileBrowserHandle fileBrowserCreate(const bool isEmbed,
const char* const funcname = fileBrowserSetPathFuncName;
if (openWebBrowserFileDialogNamespaced(funcname, handle.get()))
return handle.release();
+
+ return nullptr;
#endif
#ifdef DISTRHO_OS_WINDOWS
diff --git a/distrho/src/DistrhoUIPrivateData.hpp b/distrho/src/DistrhoUIPrivateData.hpp
@@ -25,6 +25,7 @@
#if DISTRHO_PLUGIN_HAS_EXTERNAL_UI
# include "../extra/Sleep.hpp"
+// TODO import and use file browser here
#else
# include "../../dgl/src/ApplicationPrivateData.hpp"
# include "../../dgl/src/WindowPrivateData.hpp"
@@ -319,7 +320,7 @@ struct UI::PrivateData {
uint fgColor;
double scaleFactor;
uintptr_t winId;
-#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI && !defined(DGL_FILE_BROWSER_DISABLED)
+#if DISTRHO_UI_FILE_BROWSER && !DISTRHO_PLUGIN_HAS_EXTERNAL_UI
char* uiStateFileKeyRequest;
#endif
char* bundlePath;
@@ -346,7 +347,7 @@ struct UI::PrivateData {
fgColor(0xffffffff),
scaleFactor(1.0),
winId(0),
-#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI && !defined(DGL_FILE_BROWSER_DISABLED)
+#if DISTRHO_UI_FILE_BROWSER && !DISTRHO_PLUGIN_HAS_EXTERNAL_UI
uiStateFileKeyRequest(nullptr),
#endif
bundlePath(nullptr),
@@ -382,7 +383,7 @@ struct UI::PrivateData {
~PrivateData() noexcept
{
-#if !DISTRHO_PLUGIN_HAS_EXTERNAL_UI && !defined(DGL_FILE_BROWSER_DISABLED)
+#if DISTRHO_UI_FILE_BROWSER && !DISTRHO_PLUGIN_HAS_EXTERNAL_UI
std::free(uiStateFileKeyRequest);
#endif
std::free(bundlePath);
@@ -437,7 +438,7 @@ inline bool UI::PrivateData::fileRequestCallback(const char* const key)
if (fileRequestCallbackFunc != nullptr)
return fileRequestCallbackFunc(callbacksPtr, key);
-#if DISTRHO_PLUGIN_WANT_STATE && !DISTRHO_PLUGIN_HAS_EXTERNAL_UI && !defined(DGL_FILE_BROWSER_DISABLED)
+#if DISTRHO_PLUGIN_WANT_STATE && DISTRHO_UI_FILE_BROWSER && !DISTRHO_PLUGIN_HAS_EXTERNAL_UI
std::free(uiStateFileKeyRequest);
uiStateFileKeyRequest = strdup(key);
DISTRHO_SAFE_ASSERT_RETURN(uiStateFileKeyRequest != nullptr, false);
@@ -457,7 +458,7 @@ inline bool UI::PrivateData::fileRequestCallback(const char* const key)
// -----------------------------------------------------------------------
// PluginWindow onFileSelected that require UI::PrivateData definitions
-#if DISTRHO_UI_FILE_BROWSER
+#if DISTRHO_UI_FILE_BROWSER && !DISTRHO_PLUGIN_HAS_EXTERNAL_UI
inline void PluginWindow::onFileSelected(const char* const filename)
{
DISTRHO_SAFE_ASSERT_RETURN(ui != nullptr,);