Qt: Fix crash unloading shaders

This commit is contained in:
Vicki Pfau 2020-01-27 23:00:49 -08:00
parent 6ba8f2321b
commit ef5ef903fe
2 changed files with 10 additions and 0 deletions

View File

@ -9,6 +9,7 @@ Other fixes:
- Qt: Fix race condition with proxied video events - Qt: Fix race condition with proxied video events
- Qt: Fix color selection in asset view (fixes mgba.io/i/1648) - Qt: Fix color selection in asset view (fixes mgba.io/i/1648)
- Qt: Fix missing OSD messages - Qt: Fix missing OSD messages
- Qt: Fix crash unloading shaders
0.8.0: (2020-01-21) 0.8.0: (2020-01-21)
Features: Features:

View File

@ -566,10 +566,19 @@ void PainterGL::clearShaders() {
return; return;
} }
#ifdef BUILD_GLES2 #ifdef BUILD_GLES2
if (!m_started) {
m_gl->makeCurrent(m_surface);
#if defined(_WIN32) && defined(USE_EPOXY)
epoxy_handle_external_wglMakeCurrent();
#endif
}
if (m_shader.passes) { if (m_shader.passes) {
mGLES2ShaderDetach(reinterpret_cast<mGLES2Context*>(m_backend)); mGLES2ShaderDetach(reinterpret_cast<mGLES2Context*>(m_backend));
mGLES2ShaderFree(&m_shader); mGLES2ShaderFree(&m_shader);
} }
if (!m_started) {
m_gl->doneCurrent();
}
#endif #endif
} }