gl/window: marshall quit to the window thread

Fixes a possible deadlock where we're waiting for the window thread to
quit but it never does.
This commit is contained in:
Matthew Waters 2019-11-12 12:17:44 +11:00 committed by GStreamer Merge Bot
parent 89f613abf5
commit a41bad561a

View file

@ -539,12 +539,20 @@ gst_gl_window_run (GstGLWindow * window)
} }
static void static void
gst_gl_window_default_quit (GstGLWindow * window) window_default_quit_func (GstGLWindow * window)
{ {
gst_gl_display_remove_window (window->display, window); gst_gl_display_remove_window (window->display, window);
g_main_loop_quit (window->priv->loop); g_main_loop_quit (window->priv->loop);
} }
static void
gst_gl_window_default_quit (GstGLWindow * window)
{
gst_gl_window_send_message_async (window,
(GstGLWindowCB) window_default_quit_func, gst_object_ref (window),
gst_object_unref);
}
/** /**
* gst_gl_window_quit: * gst_gl_window_quit:
* @window: a #GstGLWindow * @window: a #GstGLWindow