Browse Source

File dialog setup can't be done on MSVC just yet (pthread usage)

Signed-off-by: falkTX <falktx@falktx.com>
pull/349/head
falkTX 3 years ago
parent
commit
2fa587358b
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
2 changed files with 11 additions and 11 deletions
  1. +8
    -8
      dgl/src/WindowPrivateData.cpp
  2. +3
    -3
      dgl/src/WindowPrivateData.hpp

+ 8
- 8
dgl/src/WindowPrivateData.cpp View File

@@ -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<WCHAR> 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);


+ 3
- 3
dgl/src/WindowPrivateData.hpp View File

@@ -25,7 +25,7 @@

#include <list>

#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. */


Loading…
Cancel
Save