[gtk+] broadway: Drop the root window



commit efd86912f0a3c2a9e492391aa083d53609fec1bb
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon Nov 6 21:11:16 2017 -0500

    broadway: Drop the root window
    
    We already have a list of toplevels, so we don't
    need the root window for this.

 gdk/broadway/gdkdevice-broadway.c  |   30 +++----------------------
 gdk/broadway/gdkdisplay-broadway.c |    6 -----
 gdk/broadway/gdkdisplay-broadway.h |    1 -
 gdk/broadway/gdkeventsource.c      |    4 ---
 gdk/broadway/gdkwindow-broadway.c  |   42 ++---------------------------------
 5 files changed, 7 insertions(+), 76 deletions(-)
---
diff --git a/gdk/broadway/gdkdevice-broadway.c b/gdk/broadway/gdkdevice-broadway.c
index a8575af..28028f3 100644
--- a/gdk/broadway/gdkdevice-broadway.c
+++ b/gdk/broadway/gdkdevice-broadway.c
@@ -177,28 +177,13 @@ gdk_broadway_device_query_state (GdkDevice        *device,
     *mask = mask32;
   if (child_window)
     {
-      GdkWindowImplBroadway *impl;
-      GdkWindow *toplevel;
       GdkWindow *mouse_toplevel;
 
-      if (window == NULL)
-        window = broadway_display->root_window;
-
-      impl = GDK_WINDOW_IMPL_BROADWAY (window->impl);
-      toplevel = impl->wrapper;
-
       mouse_toplevel = g_hash_table_lookup (broadway_display->id_ht, GUINT_TO_POINTER (mouse_toplevel_id));
-      if (gdk_window_get_window_type (toplevel) == GDK_WINDOW_ROOT)
-       {
-         *child_window = mouse_toplevel;
-         if (*child_window == NULL)
-           *child_window = toplevel;
-       }
+      if (window == NULL)
+       *child_window = mouse_toplevel;
       else
-       {
-         /* No native children */
-         *child_window = toplevel;
-       }
+       *child_window = NULL;
     }
 
   return;
@@ -333,16 +318,9 @@ gdk_broadway_device_window_at_position (GdkDevice       *device,
                                        GdkModifierType *mask,
                                        gboolean         get_toplevel)
 {
-  GdkDisplay *display;
-  GdkBroadwayDisplay *broadway_display;
-  GdkWindow *root_window;
   GdkWindow *window;
 
-  display = gdk_device_get_display (device);
-  broadway_display = GDK_BROADWAY_DISPLAY (display);
-  root_window = broadway_display->root_window;
-
-  gdk_broadway_device_query_state (device, root_window, &window, NULL, NULL, win_x, win_y, mask);
+  gdk_broadway_device_query_state (device, NULL, &window, NULL, NULL, win_x, win_y, mask);
 
   return window;
 }
diff --git a/gdk/broadway/gdkdisplay-broadway.c b/gdk/broadway/gdkdisplay-broadway.c
index 1d1b6a3..bac7a97 100644
--- a/gdk/broadway/gdkdisplay-broadway.c
+++ b/gdk/broadway/gdkdisplay-broadway.c
@@ -113,8 +113,6 @@ _gdk_broadway_display_open (const gchar *display_name)
   display = g_object_new (GDK_TYPE_BROADWAY_DISPLAY, NULL);
   broadway_display = GDK_BROADWAY_DISPLAY (display);
 
-  _gdk_broadway_display_init_root_window (display);
-
   display->device_manager = _gdk_broadway_device_manager_new (display);
 
   gdk_event_init (display);
@@ -190,9 +188,6 @@ gdk_broadway_display_dispose (GObject *object)
 {
   GdkBroadwayDisplay *broadway_display = GDK_BROADWAY_DISPLAY (object);
 
-  if (broadway_display->root_window)
-    _gdk_window_destroy (broadway_display->root_window, TRUE);
-
   if (broadway_display->event_source)
     {
       g_source_destroy (broadway_display->event_source);
@@ -214,7 +209,6 @@ gdk_broadway_display_finalize (GObject *object)
 
   _gdk_broadway_cursor_display_finalize (GDK_DISPLAY(broadway_display));
 
-  g_object_unref (broadway_display->root_window);
   g_object_unref (broadway_display->monitor);
 
   G_OBJECT_CLASS (gdk_broadway_display_parent_class)->finalize (object);
diff --git a/gdk/broadway/gdkdisplay-broadway.h b/gdk/broadway/gdkdisplay-broadway.h
index 8c9dc83..d50d784 100644
--- a/gdk/broadway/gdkdisplay-broadway.h
+++ b/gdk/broadway/gdkdisplay-broadway.h
@@ -54,7 +54,6 @@ struct _GdkBroadwayDisplay
   gpointer move_resize_data;
 
   GdkMonitor *monitor;
-  GdkWindow *root_window;
 };
 
 struct _GdkBroadwayDisplayClass
diff --git a/gdk/broadway/gdkeventsource.c b/gdk/broadway/gdkeventsource.c
index 268bd65..0935cc9 100644
--- a/gdk/broadway/gdkeventsource.c
+++ b/gdk/broadway/gdkeventsource.c
@@ -349,10 +349,6 @@ _gdk_broadway_events_got_input (BroadwayInputMsg *message)
     break;
 
   case BROADWAY_EVENT_SCREEN_SIZE_CHANGED:
-    window = display_broadway->root_window;
-    window->width = message->screen_resize_notify.width;
-    window->height = message->screen_resize_notify.height;
-    _gdk_window_update_size (window);
     _gdk_broadway_display_size_changed (display, &message->screen_resize_notify);
     break;
 
diff --git a/gdk/broadway/gdkwindow-broadway.c b/gdk/broadway/gdkwindow-broadway.c
index f79ae81..ce02f97 100644
--- a/gdk/broadway/gdkwindow-broadway.c
+++ b/gdk/broadway/gdkwindow-broadway.c
@@ -186,41 +186,6 @@ gdk_window_impl_broadway_finalize (GObject *object)
   G_OBJECT_CLASS (gdk_window_impl_broadway_parent_class)->finalize (object);
 }
 
-void
-_gdk_broadway_display_init_root_window (GdkDisplay *display)
-{
-  GdkWindow *window;
-  GdkWindowImplBroadway *impl;
-  GdkBroadwayDisplay *broadway_display;
-
-  broadway_display = GDK_BROADWAY_DISPLAY (display);
-
-  g_assert (broadway_display->root_window == NULL);
-
-  broadway_display->root_window = _gdk_display_create_window (display);
-
-  window = broadway_display->root_window;
-  window->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_BROADWAY, NULL);
-  window->impl_window = window;
-
-  impl = GDK_WINDOW_IMPL_BROADWAY (window->impl);
-
-  impl->wrapper = window;
-  impl->id = 0;
-
-  window->window_type = GDK_WINDOW_ROOT;
-
-  window->x = 0;
-  window->y = 0;
-  window->abs_x = 0;
-  window->abs_y = 0;
-  window->width = 1024;
-  window->height = 768;
-  window->viewable = TRUE;
-
-  _gdk_window_update_size (broadway_display->root_window);
-}
-
 static void
 on_frame_clock_after_paint (GdkFrameClock *clock,
                             GdkWindow     *window)
@@ -265,7 +230,7 @@ _gdk_broadway_display_create_window_impl (GdkDisplay    *display,
 
   g_assert (window->window_type == GDK_WINDOW_TOPLEVEL ||
            window->window_type == GDK_WINDOW_TEMP);
-  g_assert (GDK_WINDOW_TYPE (window->parent) == GDK_WINDOW_ROOT);
+  g_assert (window->parent == NULL);
 
   broadway_display->toplevels = g_list_prepend (broadway_display->toplevels, impl);
 
@@ -366,10 +331,9 @@ _gdk_broadway_window_destroy (GdkWindow *window,
     }
 
   broadway_display = GDK_BROADWAY_DISPLAY (gdk_window_get_display (window));
-  g_hash_table_remove (broadway_display->id_ht, GINT_TO_POINTER(impl->id));
+  g_hash_table_remove (broadway_display->id_ht, GINT_TO_POINTER (impl->id));
 
-  _gdk_broadway_server_destroy_window (broadway_display->server,
-                                      impl->id);
+  _gdk_broadway_server_destroy_window (broadway_display->server, impl->id);
 }
 
 /* This function is called when the XWindow is really gone.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]