]> Pileus Git - ~andy/gtk/commitdiff
[broadway] Keep track of all (toplevel) windows
authorAlexander Larsson <alexl@redhat.com>
Mon, 15 Nov 2010 20:44:38 +0000 (21:44 +0100)
committerAlexander Larsson <alexl@redhat.com>
Thu, 25 Nov 2010 21:09:28 +0000 (22:09 +0100)
gdk/broadway/gdkwindow-broadway.c

index f8db4866393ba9bd2911970fa065a63bf7fd23eb..7103ab594d4e38aac897580ffded900d764336ae 100644 (file)
@@ -74,6 +74,8 @@ G_DEFINE_TYPE_WITH_CODE (GdkWindowImplX11,
                          G_IMPLEMENT_INTERFACE (GDK_TYPE_WINDOW_IMPL,
                                                 gdk_window_impl_iface_init));
 
+static GList *all_windows;
+
 GType
 _gdk_window_impl_get_type (void)
 {
@@ -83,6 +85,7 @@ _gdk_window_impl_get_type (void)
 static void
 gdk_window_impl_x11_init (GdkWindowImplX11 *impl)
 {
+  all_windows = g_list_prepend (all_windows, impl);
   impl->toplevel_window_type = -1;
   impl->device_cursor = g_hash_table_new_full (NULL, NULL, NULL,
                                                (GDestroyNotify) gdk_cursor_unref);
@@ -115,6 +118,8 @@ gdk_window_impl_x11_finalize (GObject *object)
 
   g_hash_table_destroy (window_impl->device_cursor);
 
+  all_windows = g_list_remove (all_windows, window_impl);
+
   G_OBJECT_CLASS (gdk_window_impl_x11_parent_class)->finalize (object);
 }