[gtk+] broadway: Drop the root window
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] broadway: Drop the root window
- Date: Tue, 7 Nov 2017 02:53:23 +0000 (UTC)
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]