diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index 564ec2be8..91459eef0 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -1011,8 +1011,12 @@ void WrappedOpenGL::UseUnusedSupportedFunction(const char *name) if(it->second.Modern()) { RenderDoc::Inst().RemoveDeviceFrameCapturer(it->second.ctx); - for(auto wnd : it->second.windows) - it->second.UnassociateWindow(this, wnd.first); + for(auto wnd = it->second.windows.begin(); wnd != it->second.windows.end();) + { + void *wndHandle = wnd->first; + wnd++; + it->second.UnassociateWindow(this, wndHandle); + } } } }