From 9bda0532f8770e726b9b90ce6fc687b87ba2037f Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 21 Sep 2015 15:33:53 +0200 Subject: [PATCH] gdk: Finish conversion to in-struct GdkWindow list nodes --- gdk/gdkoffscreenwindow.c | 4 ++-- gdk/win32/gdkwindow-win32.c | 7 +++---- gdk/x11/gdkwindow-x11.c | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/gdk/gdkoffscreenwindow.c b/gdk/gdkoffscreenwindow.c index 614e3f03f2..a022795db4 100644 --- a/gdk/gdkoffscreenwindow.c +++ b/gdk/gdkoffscreenwindow.c @@ -195,7 +195,7 @@ gdk_offscreen_window_reparent (GdkWindow *window, gdk_window_hide (window); if (window->parent) - window->parent->children = g_list_remove (window->parent->children, window); + window->parent->children = g_list_remove_link (window->parent->children, &window->children_list_node); old_parent = window->parent; window->parent = new_parent; @@ -203,7 +203,7 @@ gdk_offscreen_window_reparent (GdkWindow *window, window->y = y; if (new_parent) - window->parent->children = g_list_prepend (window->parent->children, window); + window->parent->children = g_list_concat (&window->children_list_node, window->parent->children); _gdk_synthesize_crossing_events_for_geometry_change (window); if (old_parent) diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index 88a9478bde..67519aa3d2 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -760,7 +760,7 @@ gdk_win32_window_foreign_new_for_display (GdkDisplay *display, if (!window->parent || GDK_WINDOW_TYPE (window->parent) == GDK_WINDOW_FOREIGN) window->parent = _gdk_root; - window->parent->children = g_list_prepend (window->parent->children, window); + window->parent->children = g_list_concat (&window->children_list_node, window->parent->children); window->parent->impl_window->native_children = g_list_prepend (window->parent->impl_window->native_children, window); @@ -1504,10 +1504,9 @@ gdk_win32_window_reparent (GdkWindow *window, } if (old_parent) - old_parent->children = - g_list_remove (old_parent->children, window); + old_parent->children = g_list_remove_link (old_parent->children, &window->children_list_node); - parent->children = g_list_prepend (parent->children, window); + parent->children = g_list_concat (&window->children_list_node, parent->children); return FALSE; } diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 1ace677a73..d08cee0f89 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -1239,7 +1239,7 @@ gdk_x11_window_foreign_new_for_display (GdkDisplay *display, if (!win->parent || GDK_WINDOW_TYPE (win->parent) == GDK_WINDOW_FOREIGN) win->parent = gdk_screen_get_root_window (screen); - win->parent->children = g_list_prepend (win->parent->children, win); + win->parent->children = g_list_concat (&win->children_list_node, win->parent->children); win->parent->impl_window->native_children = g_list_prepend (win->parent->impl_window->native_children, win); -- GitLab