From 88775c2e1824b2586651685047ce7c4cdae68fd2 Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Thu, 18 Jun 2020 19:12:46 +1000 Subject: [PATCH] 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: --- ext/qt/qtglrenderer.cc | 5 +++++ 1 file changed, 5 insertions(+) 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() -- 2.7.4