OpenGLHelpers::isContextActive true after context closed


#1

I am encountering a problem where OpenGLHelpers::isContextActive() returns true on Mac OS X (10.7.5) in a multi-instance plugin context (RTAS in Pro Tools 10.2.1, to be specific). If I open up the editor windows for two instances of the plugin, each one has its own OpenGLContext, and when I close one of the editor windows, that closing instance still has isContextActive() even after openGLContextClosing() has happened. It seems to be mistaken by the fact that the other plugin’s editor still has an active OpenGLContext. This caused serious crashing problems for me, because I had member OpenGLTexture variables in my editor class, I do not call release() on them at any point manually, but then they are destroyed during the editor class’ destructor after openGLContextClosing() has happened, at which point isContextActive() mistakenly returns true, leading to an invalid call to glDeleteTextures(), leading to a crash (or even kernel panic on some occasions). Seems to me to be a bug in the Mac OS X implementation of OpenGLHelpers::isContextActive(), no?


#2

Thanks. Try the latest check-in that I just did, which should avoid that.


#3

Fixed. Thanks so much for the quick support!