OpenGL attachted to AudioProcessorEditor crashes when closing Plugin Window (Cubase 32bit, Windows 8.1)
I detach the context in the destructor, not sure what happens here:
Stacktrace:
atioglxx.dll!6994ad83() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for atioglxx.dll]
atioglxx.dll!6995197c() Unknown
atioglxx.dll!69950fac() Unknown
atioglxx.dll!690a2f7c() Unknown
atioglxx.dll!6992dedd() Unknown
atioglxx.dll!6992dceb() Unknown
atioglxx.dll!69945e80() Unknown
atioglxx.dll!6992bc7f() Unknown
atioglxx.dll!6993166e() Unknown
atioglxx.dll!69044f8f() Unknown
opengl32.dll!5926f7cb() Unknown
> MyPlugin.dll!juce::OpenGLContext::NativeContext::deleteRenderContext() Line 178 C++
MyPlugin.dll!juce::OpenGLContext::NativeContext::~NativeContext() Line 84 C++
MyPlugin.dll!juce::OpenGLContext::NativeContext::`scalar deleting destructor'(unsigned int) C++
MyPlugin.dll!juce::ContainerDeletePolicy<juce::OpenGLContext::NativeContext>::destroy(juce::OpenGLContext::NativeContext * object=0x2a1cf628) Line 58 C++
MyPlugin.dll!juce::ScopedPointer<juce::OpenGLContext::NativeContext>::~ScopedPointer<juce::OpenGLContext::NativeContext>() Line 100 C++
MyPlugin.dll!juce::OpenGLContext::CachedImage::~CachedImage() Line 97 C++
MyPlugin.dll!juce::OpenGLContext::CachedImage::`scalar deleting destructor'(unsigned int) C++
MyPlugin.dll!juce::ContainerDeletePolicy<juce::CachedComponentImage>::destroy(juce::CachedComponentImage * object=0x2a3f7c08) Line 58 C++
MyPlugin.dll!juce::ScopedPointer<juce::CachedComponentImage>::operator=(juce::CachedComponentImage * const newObjectToTakePossessionOf=0x00000000) Line 141 C++
MyPlugin.dll!juce::Component::setCachedComponentImage(juce::CachedComponentImage * newCachedImage=0x00000000) Line 832 C++
MyPlugin.dll!juce::OpenGLContext::Attachment::detach() Line 652 C++
MyPlugin.dll!juce::OpenGLContext::Attachment::componentVisibilityChanged() Line 587 C++
MyPlugin.dll!juce::OpenGLContext::Attachment::componentMovedOrResized(bool __formal=false, bool __formal=true) Line 556 C++
MyPlugin.dll!juce::ComponentMovementWatcher::componentMovedOrResized(juce::Component & __formal={...}, bool wasMoved=false, bool wasResized=true) Line 100 C++
MyPlugin.dll!juce::ComponentMovementWatcher::componentParentHierarchyChanged(juce::Component & __formal={...}) Line 71 C++
MyPlugin.dll!juce::ListenerList<juce::ComponentListener,juce::Array<juce::ComponentListener *,juce::DummyCriticalSection,0> >::callChecked<juce::Component::BailOutChecker,juce::Component &>(const juce::Component::BailOutChecker & bailOutChecker={...}, void (juce::Component &) * callbackFunction=0x52279f48, juce::Component & param1={...}) Line 182 C++
MyPlugin.dll!juce::Component::internalHierarchyChanged() Line 1678 C++
MyPlugin.dll!juce::Component::removeChildComponent(int index=0, bool sendParentEvents=true, bool sendChildEvents=true) Line 1576 C++
MyPlugin.dll!juce::Component::removeChildComponent(int index=0) Line 1525 C++
MyPlugin.dll!juce::Component::deleteAllChildren() Line 1593 C++
MyPlugin.dll!JuceVSTWrapper::EditorCompWrapper::~EditorCompWrapper() Line 1546 C++
MyPlugin.dll!JuceVSTWrapper::EditorCompWrapper::`scalar deleting destructor'(unsigned int) C++
MyPlugin.dll!juce::ContainerDeletePolicy<JuceVSTWrapper::EditorCompWrapper>::destroy(JuceVSTWrapper::EditorCompWrapper * object=0x2a06d010) Line 58 C++
MyPlugin.dll!juce::ScopedPointer<JuceVSTWrapper::EditorCompWrapper>::operator=(JuceVSTWrapper::EditorCompWrapper * const newObjectToTakePossessionOf=0x00000000) Line 141 C++
MyPlugin.dll!JuceVSTWrapper::deleteEditor(bool canDeleteLaterIfModal=true) Line 1359 C++
MyPlugin.dll!JuceVSTWrapper::dispatcher(int opCode=15, int index=0, int value=0, void * ptr=0x00000000, float opt=0.000000000) Line 1417 C++
MyPlugin.dll!AudioEffect::dispatchEffectClass(AEffect * e=0x1a49bba0, int opCode=15, int index=0, int value=0, void * ptr=0x00000000, float opt=0.000000000) Line 33 C++
VSTPlugManager.dll!14012d59() Unknown
VSTPlugManager.dll!140196c9() Unknown
Cubase7.exe!017605bc() Unknown