]> Pileus Git - ~andy/gtk/commitdiff
gdk: Create windows via _gdk_display_create_window()
authorBenjamin Otte <otte@redhat.com>
Tue, 21 Dec 2010 02:06:59 +0000 (03:06 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 21 Dec 2010 17:07:08 +0000 (12:07 -0500)
THe use of this function will become visible in the next commits. But
wrapping g_object_new() is a generally a good idea anyway.

gdk/gdkdisplay.c
gdk/gdkdisplayprivate.h
gdk/gdkwindow.c
gdk/quartz/gdkwindow-quartz.c
gdk/win32/gdkwindow-win32.c
gdk/x11/gdkwindow-x11.c

index 1c69f8b2e41a3f8c4099ca4ac8ec23f79fafa294..ba912f25a3a7affc34351be28cebc96aa9116759 100644 (file)
@@ -2498,6 +2498,12 @@ _gdk_display_create_window_impl (GdkDisplay       *display,
                                                        attributes_mask);
 }
 
+GdkWindow *
+_gdk_display_create_window (GdkDisplay *display)
+{
+  return g_object_new (GDK_TYPE_WINDOW, NULL);
+}
+
 /**
  * gdk_keymap_get_for_display:
  * @display: the #GdkDisplay.
index 4885b18a465724c0f1a9ed2f1a0d792ffb35bc8c..608e7b1500dfb17fa53303e659debfe140acaee7 100644 (file)
@@ -287,6 +287,7 @@ void                _gdk_display_create_window_impl   (GdkDisplay       *display
                                                        GdkEventMask      event_mask,
                                                        GdkWindowAttr    *attributes,
                                                        gint              attributes_mask);
+GdkWindow *         _gdk_display_create_window        (GdkDisplay       *display);
 
 G_END_DECLS
 
index aecfdff4fa19c7c0542fbfa5128af1f765ea42d9..c4055df68ceec6b33ead6ec85d58fdd26e29ca8b 100644 (file)
@@ -1307,7 +1307,9 @@ gdk_window_new (GdkWindow     *parent,
       return NULL;
     }
 
-  window = g_object_new (GDK_TYPE_WINDOW, NULL);
+  display = gdk_screen_get_display (screen);
+
+  window = _gdk_display_create_window (display);
 
   /* Windows with a foreign parent are treated as if they are children
    * of the root window, except for actual creation.
@@ -1409,7 +1411,6 @@ gdk_window_new (GdkWindow     *parent,
     }
   else if (native)
     {
-      display = gdk_screen_get_display (screen);
       event_mask = get_native_event_mask (window);
 
       /* Create the impl */
index 284ed8a76d0df95fb095dccf058bced13940d543..f1bcda266012f81d253e1a3e636317094e4bf6ae 100644 (file)
@@ -1041,7 +1041,7 @@ _gdk_windowing_window_init (void)
 
   g_assert (_gdk_root == NULL);
 
-  _gdk_root = g_object_new (GDK_TYPE_WINDOW, NULL);
+  _gdk_root = _gdk_display_create_window (_gdk_display);
 
   _gdk_root->impl = g_object_new (_gdk_root_window_impl_quartz_get_type (), NULL);
   _gdk_root->impl_window = _gdk_root;
index 2f67f35fb3559044a7ee1e1b8882791e6a59501f..c9130bc758f45ca89dca6ad268480d6f80965483 100644 (file)
@@ -203,7 +203,8 @@ _gdk_windowing_window_init (GdkScreen *screen)
 
   g_assert (_gdk_root == NULL);
   
-  _gdk_root = g_object_new (GDK_TYPE_WINDOW, NULL);
+  _gdk_root = _gdk_display_create_window (_gdk_display);
+
   private = (GdkWindowObject *)_gdk_root;
   private->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WIN32, NULL);
   private->impl_window = private;
@@ -632,7 +633,7 @@ gdk_win32_window_foreign_new_for_display (GdkDisplay      *display,
 
   g_return_val_if_fail (display == _gdk_display, NULL);
 
-  window = g_object_new (GDK_TYPE_WINDOW, NULL);
+  window = _gdk_display_create_window (display);
   private = (GdkWindowObject *)window;
   private->visual = gdk_screen_get_system_visual (_gdk_screen);
   private->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WIN32, NULL);
index bf07ece86b4f5835e4f74c9a4bef3ceaee5518ab..de7c6916a1b8b998adcf6bfdcd2d3aa7999cc533 100644 (file)
@@ -460,7 +460,7 @@ _gdk_x11_screen_init_root_window (GdkScreen *screen)
 
   g_assert (x11_screen->root_window == NULL);
 
-  window = x11_screen->root_window = g_object_new (GDK_TYPE_WINDOW, NULL);
+  window = x11_screen->root_window = _gdk_display_create_window (gdk_screen_get_display (screen));
 
   window->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_X11, NULL);
   window->impl_window = window;
@@ -906,7 +906,7 @@ gdk_x11_window_foreign_new_for_display (GdkDisplay *display,
 
   screen = _gdk_x11_display_screen_for_xrootwin (display, root);
 
-  win = g_object_new (GDK_TYPE_WINDOW, NULL);
+  win = _gdk_display_create_window (display);
   win->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_X11, NULL);
   win->impl_window = win;
   win->visual = gdk_x11_screen_lookup_visual (screen,