gstgtk: Don't leak the widget
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 11 Jun 2015 16:38:53 +0000 (12:38 -0400)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 11 Jun 2015 16:41:49 +0000 (12:41 -0400)
g_object_get() returns a ref, gtk_container_add() only ref_sink().
That mean we still need to unref afterward. This leak was hiding
a reference bug previously present.

tests/examples/gtk/gtkglsink.c
tests/examples/gtk/gtksink.c

index 72c867f..62e5125 100644 (file)
@@ -156,6 +156,7 @@ main (int argc, char *argv[])
   gtk_container_add (GTK_CONTAINER (window), area);
 
   gtk_widget_realize (area);
+  g_object_unref (area);
 
   caps = gst_caps_new_simple ("video/x-raw", "width", G_TYPE_INT, 640,
       "height", G_TYPE_INT, 480, "format", G_TYPE_STRING, "RGBA",
index 0fea057..d86fd09 100644 (file)
@@ -142,6 +142,7 @@ main (int argc, char *argv[])
 
   g_object_get (videosink, "widget", &area, NULL);
   gtk_container_add (GTK_CONTAINER (window), area);
+  g_object_unref (area);
 
   gtk_widget_realize (area);