From 2fa587358b9224646a69c0ac8bb5a31790acac3b Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 27 Oct 2021 05:20:42 +0100 Subject: [PATCH] File dialog setup can't be done on MSVC just yet (pthread usage) Signed-off-by: falkTX --- dgl/src/WindowPrivateData.cpp | 16 ++++++++-------- dgl/src/WindowPrivateData.hpp | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/dgl/src/WindowPrivateData.cpp b/dgl/src/WindowPrivateData.cpp index 3d43315f..c7801349 100644 --- a/dgl/src/WindowPrivateData.cpp +++ b/dgl/src/WindowPrivateData.cpp @@ -82,7 +82,7 @@ static double getDesktopScaleFactor(const PuglView* const view) // ----------------------------------------------------------------------- -#ifdef DISTRHO_OS_WINDOWS +#if defined(DISTRHO_OS_WINDOWS) && !defined(_MSC_VER) struct FileBrowserThread::PrivateData { OPENFILENAMEW ofn; std::vector fileNameW; @@ -172,7 +172,7 @@ void FileBrowserThread::run() d_stdout("WThread finished, final file '%s'", nextFile); win32SelectedFile = nextFile; } -#endif // DISTRHO_OS_WINDOWS +#endif // DISTRHO_OS_WINDOWS && !_MSC_VER // ----------------------------------------------------------------------- @@ -194,7 +194,7 @@ Window::PrivateData::PrivateData(Application& a, Window* const s) keepAspectRatio(false), ignoreIdleCallbacks(false), filenameToRenderInto(nullptr), -#ifdef DISTRHO_OS_WINDOWS +#if defined(DISTRHO_OS_WINDOWS) && !defined(_MSC_VER) win32SelectedFile(nullptr), win32FileThread(win32SelectedFile), #endif @@ -221,7 +221,7 @@ Window::PrivateData::PrivateData(Application& a, Window* const s, PrivateData* c keepAspectRatio(false), ignoreIdleCallbacks(false), filenameToRenderInto(nullptr), -#ifdef DISTRHO_OS_WINDOWS +#if defined(DISTRHO_OS_WINDOWS) && !defined(_MSC_VER) win32SelectedFile(nullptr), win32FileThread(win32SelectedFile), #endif @@ -252,7 +252,7 @@ Window::PrivateData::PrivateData(Application& a, Window* const s, keepAspectRatio(false), ignoreIdleCallbacks(false), filenameToRenderInto(nullptr), -#ifdef DISTRHO_OS_WINDOWS +#if defined(DISTRHO_OS_WINDOWS) && !defined(_MSC_VER) win32SelectedFile(nullptr), win32FileThread(win32SelectedFile), #endif @@ -285,7 +285,7 @@ Window::PrivateData::PrivateData(Application& a, Window* const s, keepAspectRatio(false), ignoreIdleCallbacks(false), filenameToRenderInto(nullptr), -#ifdef DISTRHO_OS_WINDOWS +#if defined(DISTRHO_OS_WINDOWS) && !defined(_MSC_VER) win32SelectedFile(nullptr), win32FileThread(win32SelectedFile), #endif @@ -317,7 +317,7 @@ Window::PrivateData::~PrivateData() isVisible = false; } -#ifdef DISTRHO_OS_WINDOWS +#if defined(DISTRHO_OS_WINDOWS) && !defined(_MSC_VER) if (win32FileThread.isThreadRunning()) win32FileThread.stopThread(2000); @@ -637,7 +637,7 @@ bool Window::PrivateData::openFileBrowser(const Window::FileBrowserOptions& opti return puglMacOSFilePanelOpen(view, startDir, title, flags, openPanelCallback); # endif -# ifdef DISTRHO_OS_WINDOWS +# if defined(DISTRHO_OS_WINDOWS) && !defined(_MSC_VER) // TODO signal to close if (win32FileThread.isThreadRunning()) win32FileThread.stopThread(1000); diff --git a/dgl/src/WindowPrivateData.hpp b/dgl/src/WindowPrivateData.hpp index eff0d091..1ffd611f 100644 --- a/dgl/src/WindowPrivateData.hpp +++ b/dgl/src/WindowPrivateData.hpp @@ -25,7 +25,7 @@ #include -#ifdef DISTRHO_OS_WINDOWS +#if defined(DISTRHO_OS_WINDOWS) && !defined(_MSC_VER) # include "../distrho/extra/Thread.hpp" #endif @@ -35,7 +35,7 @@ class TopLevelWidget; // ----------------------------------------------------------------------- -#ifdef DISTRHO_OS_WINDOWS +#if defined(DISTRHO_OS_WINDOWS) && !defined(_MSC_VER) class FileBrowserThread : public Thread { struct PrivateData; @@ -103,7 +103,7 @@ struct Window::PrivateData : IdleCallback { /** Render to a picture file when non-null, automatically free+unset after saving. */ char* filenameToRenderInto; -#ifdef DISTRHO_OS_WINDOWS +#if defined(DISTRHO_OS_WINDOWS) && !defined(_MSC_VER) /** Selected file for openFileBrowser on windows, stored for fake async operation. */ const char* win32SelectedFile; /** Thread where the openFileBrowser runs. */