mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-14 00:14:18 +00:00
OpenGL: Detach OpenGL context after initialisation
This commit is contained in:
parent
e2e3d949c7
commit
10680f9bf7
1 changed files with 7 additions and 6 deletions
|
|
@ -328,9 +328,11 @@ public:
|
|||
|
||||
RenderStatus renderFrame (MessageManager::Lock& mmLock)
|
||||
{
|
||||
if (! isFlagSet (state, StateFlags::initialised))
|
||||
{
|
||||
switch (initialiseOnThread())
|
||||
ScopedContextActivator contextActivator;
|
||||
|
||||
if (! isFlagSet (state, StateFlags::initialised))
|
||||
{
|
||||
switch (initialiseOnThread (contextActivator))
|
||||
{
|
||||
case InitResult::fatal:
|
||||
case InitResult::retry: return RenderStatus::noWork;
|
||||
|
|
@ -346,7 +348,6 @@ public:
|
|||
#endif
|
||||
|
||||
std::optional<MessageManager::Lock::ScopedTryLockType> scopedLock;
|
||||
ScopedContextActivator contextActivator;
|
||||
|
||||
const auto stateToUse = state.fetch_and (StateFlags::persistent);
|
||||
|
||||
|
|
@ -617,14 +618,14 @@ public:
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
InitResult initialiseOnThread()
|
||||
InitResult initialiseOnThread (ScopedContextActivator& activator)
|
||||
{
|
||||
// On android, this can get called twice, so drop any previous state.
|
||||
associatedObjectNames.clear();
|
||||
associatedObjects.clear();
|
||||
cachedImageFrameBuffer.release();
|
||||
|
||||
context.makeActive();
|
||||
activator.activate (context);
|
||||
|
||||
if (const auto nativeResult = nativeContext->initialiseOnRenderThread (context); nativeResult != InitResult::success)
|
||||
return nativeResult;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue