From b9e654c3d331933dbeae0413246be8dc2bd64a58 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 8 Jul 2022 02:28:41 +0100 Subject: [PATCH] Fix wasm returning non-null invalid value for open file; Cleanup Signed-off-by: falkTX --- distrho/extra/FileBrowserDialogImpl.cpp | 2 ++ distrho/src/DistrhoUIPrivateData.hpp | 11 ++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/distrho/extra/FileBrowserDialogImpl.cpp b/distrho/extra/FileBrowserDialogImpl.cpp index 87fbd138..d06477cd 100644 --- 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 index 4e99fa2b..1cc23ccf 100644 --- 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,);