gdk: Dispose seats when a display is closed
authorMatthias Clasen <mclasen@redhat.com>
Mon, 5 Jun 2023 22:04:12 +0000 (18:04 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 6 Jun 2023 00:50:09 +0000 (20:50 -0400)
We dispose the display itself. It does not make
sense to hold onto seat resources beyond that point.

gdk/gdkdisplay.c

index ddfbb908d5e0e80151d97856da7eba3b4e87d218..6f329bf8f2706de811e9e18ecf6221208328cccb 100644 (file)
@@ -383,6 +383,9 @@ gdk_display_dispose (GObject *object)
 #endif
   g_clear_error (&priv->gl_error);
 
+  for (GList *l = display->seats; l; l = l->next)
+    g_object_run_dispose (G_OBJECT (l->data));
+
   G_OBJECT_CLASS (gdk_display_parent_class)->dispose (object);
 }