Browse Source

Testing changes to fix macOS GL context, WIP

pull/287/head
falkTX 4 years ago
parent
commit
d296d262d2
8 changed files with 34 additions and 1 deletions
  1. +3
    -0
      dgl/Window.hpp
  2. +5
    -0
      dgl/src/Window.cpp
  3. +8
    -0
      dgl/src/WindowPrivateData.cpp
  4. +3
    -0
      dgl/src/WindowPrivateData.hpp
  5. +1
    -1
      dgl/src/pugl-upstream
  6. +8
    -0
      dgl/src/pugl.cpp
  7. +4
    -0
      dgl/src/pugl.hpp
  8. +2
    -0
      distrho/src/DistrhoUIInternal.hpp

+ 3
- 0
dgl/Window.hpp View File

@@ -362,6 +362,9 @@ public:
DISTRHO_DEPRECATED_BY("runAsModal(bool)")
inline void exec(bool blockWait = false) { runAsModal(blockWait); }

// TESTING, DO NOT USE
void leaveContext();

protected:
/**
A function called when the window is attempted to be closed.


+ 5
- 0
dgl/src/Window.cpp View File

@@ -265,6 +265,11 @@ void Window::runAsModal(bool blockWait)
pData->runAsModal(blockWait);
}

void Window::leaveContext()
{
pData->leaveContext();
}

void Window::setGeometryConstraints(const uint minimumWidth,
const uint minimumHeight,
const bool keepAspectRatio,


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

@@ -617,6 +617,14 @@ void Window::PrivateData::runAsModal(const bool blockWait)
}
}

// -----------------------------------------------------------------------
// TESTING

void Window::PrivateData::leaveContext()
{
puglBackendLeave(view);
}

// -----------------------------------------------------------------------
// pugl events



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

@@ -158,6 +158,9 @@ struct Window::PrivateData : IdleCallback {
void stopModal();
void runAsModal(bool blockWait);

// TESTING
void leaveContext();

// pugl events
void onPuglConfigure(double width, double height);
void onPuglExpose();


+ 1
- 1
dgl/src/pugl-upstream

@@ -1 +1 @@
Subproject commit a940bf9e524da9eacf57a465ca00dc35d8236480
Subproject commit 37727dd4e2b141fcf106c3c8e1076376d9025916

+ 8
- 0
dgl/src/pugl.cpp View File

@@ -160,6 +160,14 @@ void puglBackendEnter(PuglView* const view)
view->backend->enter(view, NULL);
}

// --------------------------------------------------------------------------------------------------------------------
// expose backend leave

void puglBackendLeave(PuglView* const view)
{
view->backend->leave(view, NULL);
}

// --------------------------------------------------------------------------------------------------------------------
// clear minimum size to 0



+ 4
- 0
dgl/src/pugl.hpp View File

@@ -46,6 +46,10 @@ PUGL_BEGIN_DECLS
PUGL_API void
puglBackendEnter(PuglView* view);

// expose backend leave
PUGL_API void
puglBackendLeave(PuglView* view);

// clear minimum size to 0
PUGL_API void
puglClearMinSize(PuglView* view);


+ 2
- 0
distrho/src/DistrhoUIInternal.hpp View File

@@ -96,6 +96,8 @@ public:
g_nextWindowId = 0;
g_nextScaleFactor = 0.0;
g_nextBundlePath = nullptr;
#else
uiData->window->leaveContext();
#endif
UI::PrivateData::s_nextPrivateData = nullptr;



Loading…
Cancel
Save