From: Matthew Waters Date: Thu, 18 Jun 2020 09:12:46 +0000 (+1000) Subject: qt/gloverlay: fix using OpenGL after destroying Qml X-Git-Tag: 1.19.3~509^2~496 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=88775c2e1824b2586651685047ce7c4cdae68fd2;p=platform%2Fupstream%2Fgstreamer.git qt/gloverlay: fix using OpenGL after destroying Qml Qml somewhat unhelpfully seems to uncurrent our OpenGL context on its destruction. Work around that by uncurrenting and recurrenting again. Part-of: --- diff --git a/ext/qt/qtglrenderer.cc b/ext/qt/qtglrenderer.cc index 6e337cd..42669d8 100644 --- a/ext/qt/qtglrenderer.cc +++ b/ext/qt/qtglrenderer.cc @@ -504,6 +504,11 @@ void GstQuickRenderer::stopGL () if (m_sharedRenderData) shared_render_data_unref (m_sharedRenderData); m_sharedRenderData = NULL; + + /* XXX: reset the OpenGL context and drawable as Qt may have clobbered it. + * Fixes any attempt to access OpenGL after shutting down qmlgloverlay. */ + gst_gl_context_activate (gl_context, FALSE); + gst_gl_context_activate (gl_context, TRUE); } void GstQuickRenderer::cleanup()