Missing OpenGLContext::makeInactive()


#1

Hide context deactivation method from the OpenGLContext interface can produce some problems:

(On Win7-64 NVidia GTX580 with 296.10 WHQL driver):

1: wglShareLists return false with last error set to ERROR_BUSY if the other context is active on another thread. Else, it’s work fine.

2: wglDeleteContext (called in juce message thread) seems to freeze all others active shared context threads during 1 or 2 seconds.
Perform a cleaning wglMakeCurrent (0, 0) call in shutdownOnRenderThread() resolves this second problem.


#2

Thanks, I’ve added a method OpenGLContext::deactivateCurrentContext now.


#3

Thanks Jules !

But deactivateCurrentContext call is still missing in Win32 version of shutdownOnRenderThread() and is required to fix problem 2.

NB: This call is already present in your Linux version of shutdownOnRenderThread function. So I think it’s the proper way to perform resources cleaning on each os.


#4

Sorry… I meant to do that too, but got distracted… Done now!