[gtk+/client-side-windows: 35/284] When reparenting, remove from old parent before setting the new parent



commit 2fa6f32d8e26a04ecc7fc399241916d0bfbf5034
Author: Alexander Larsson <alexl redhat com>
Date:   Sun Dec 7 13:42:19 2008 +0100

    When reparenting, remove from old parent before setting the new parent
    (otherwise we remove from the wrong parent)
---
 gdk/gdkwindow.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 381ce0d..a95d69b 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -973,13 +973,13 @@ gdk_window_reparent (GdkWindow *window,
       new_parent_private = (GdkWindowObject *)new_parent;
     }
 
+  if (private->parent)
+    private->parent->children = g_list_remove (private->parent->children, window);
+  
   private->parent = new_parent_private;
   private->x = x;
   private->y = y;
 
-  if (private->parent)
-    private->parent->children = g_list_remove (private->parent->children, window);
-  
   new_parent_private->children = g_list_prepend (new_parent_private->children, window);
   
   /* Switch the window type as appropriate */



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