gtkwaylandsink: Destroy GstWlWindow when parent GtkWindow is destroyed
authorColin Kinloch <colin.kinloch@collabora.com>
Thu, 16 Mar 2023 16:02:26 +0000 (16:02 +0000)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 30 Mar 2023 19:40:10 +0000 (19:40 +0000)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4312>

subprojects/gst-plugins-bad/ext/gtk/gstgtkwaylandsink.c

index 44f93db..d47b801 100644 (file)
@@ -226,6 +226,7 @@ window_destroy_cb (GtkWidget * widget, GstGtkWaylandSink * self)
       gst_gtk_wayland_sink_get_instance_private (self);
 
   GST_OBJECT_LOCK (self);
+  g_clear_object (&priv->wl_window);
   priv->gtk_window = NULL;
   GST_OBJECT_UNLOCK (self);
 
@@ -621,6 +622,7 @@ gst_gtk_wayland_sink_stop_on_main (GstGtkWaylandSink * self)
       g_signal_handler_disconnect (priv->gtk_window,
           priv->gtk_window_destroy_id);
     priv->gtk_window_destroy_id = 0;
+    g_clear_object (&priv->wl_window);
     gtk_widget_destroy (priv->gtk_window);
     priv->gtk_window = NULL;
   }