From bcda593f12a4ccdba14f6c1eb2bdd7cd9877194c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 24 Sep 2015 18:51:39 +0200 Subject: gtk: Only run from the main thread in stop() if we created the window We're not doing anything at all from the main thread in other cases. --- ext/gtk/gstgtkbasesink.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ext/gtk/gstgtkbasesink.c b/ext/gtk/gstgtkbasesink.c index 57c5a060a..e11627b5b 100644 --- a/ext/gtk/gstgtkbasesink.c +++ b/ext/gtk/gstgtkbasesink.c @@ -342,8 +342,13 @@ gst_gtk_base_sink_stop_on_main (GstBaseSink * bsink) static gboolean gst_gtk_base_sink_stop (GstBaseSink * bsink) { - return ! !gst_gtk_invoke_on_main ((GThreadFunc) - gst_gtk_base_sink_stop_on_main, bsink); + GstGtkBaseSink *gst_sink = GST_GTK_BASE_SINK (bsink); + + if (gst_sink->window) + return ! !gst_gtk_invoke_on_main ((GThreadFunc) + gst_gtk_base_sink_stop_on_main, bsink); + + return TRUE; } static void -- cgit v1.2.1