examples: Call gst_ensure_native_window() for gst-camera
authorBenjamin Otte <otte@redhat.com>
Sun, 14 Feb 2010 14:22:05 +0000 (15:22 +0100)
committerBenjamin Otte <otte@redhat.com>
Sun, 14 Feb 2010 14:22:05 +0000 (15:22 +0100)
Fixes spurious SEGVs due to multithreading conflicts in
client-side-window Gtk versions.

tests/examples/camerabin/gst-camera.c
tests/examples/camerabin/gst-camera.ui

index 71d217f..516229b 100644 (file)
@@ -832,6 +832,14 @@ on_buttonPause_clicked (GtkButton * button, gpointer user_data)
   }
 }
 
+void
+on_drawingareaView_realize (GtkWidget * widget, gpointer data)
+{
+#if GTK_CHECK_VERSION (2, 18, 0)
+  gdk_window_ensure_native (widget->window);
+#endif
+}
+
 gboolean
 on_drawingareaView_configure_event (GtkWidget * widget,
     GdkEventConfigure * event, gpointer data)
index c93616c..1dcf33c 100644 (file)
                         <property name="visible">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                         <signal name="configure_event" handler="on_drawingareaView_configure_event"/>
+                        <signal name="realize" handler="on_drawingareaView_realize"/>
                       </object>
                     </child>
                   </object>