gtk: fix assertion when the element has no peer
authorMatthew Waters <matthew@centricular.com>
Mon, 28 Sep 2015 14:25:00 +0000 (00:25 +1000)
committerMatthew Waters <matthew@centricular.com>
Mon, 28 Sep 2015 14:28:31 +0000 (00:28 +1000)
When proxying keyboard/navigation/mouse events, only unref a successfully
retreived peer pad.

https://bugzilla.gnome.org/show_bug.cgi?id=755738

ext/gtk/gstgtkbasesink.c

index e11627b..dd3af91 100644 (file)
@@ -276,10 +276,12 @@ gst_gtk_base_sink_navigation_send_event (GstNavigation * navigation,
 
   GST_TRACE_OBJECT (sink, "navigation event %" GST_PTR_FORMAT, structure);
 
-  if (GST_IS_PAD (pad) && GST_IS_EVENT (event))
-    gst_pad_send_event (pad, event);
+  if (GST_IS_PAD (pad)) {
+    if (GST_IS_EVENT (event))
+      gst_pad_send_event (pad, event);
 
-  gst_object_unref (pad);
+    gst_object_unref (pad);
+  }
 }
 
 static void