diff --git a/gst-libs/gst/gl/gstglwindow.c b/gst-libs/gst/gl/gstglwindow.c index f51c7fbbb2..da7f498dee 100644 --- a/gst-libs/gst/gl/gstglwindow.c +++ b/gst-libs/gst/gl/gstglwindow.c @@ -539,12 +539,20 @@ gst_gl_window_run (GstGLWindow * window) } static void -gst_gl_window_default_quit (GstGLWindow * window) +window_default_quit_func (GstGLWindow * window) { gst_gl_display_remove_window (window->display, window); 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: * @window: a #GstGLWindow