[PATCH] Infinite loop in link_window

Gerard Patel gerard.patel at nerim.net
Sat Sep 22 18:10:19 CDT 2001


fix problem when for example setting to the bottom of the Z-order a 
window that is already at this place.

unrelated change : fix incorrect trace listing the children of a window as
its parents.

ChangeLog:

	* server/window.c, trace.c
               fix infinite loop when previous = win
-------------- next part --------------
Index: server/trace.c
===================================================================
RCS file: /home/wine/wine/server/trace.c,v
retrieving revision 1.101
diff -u -r1.101 trace.c
--- server/trace.c	2001/09/21 21:08:40	1.101
+++ server/trace.c	2001/09/22 18:53:54
@@ -1722,7 +1722,7 @@
 static void dump_get_window_children_reply( const struct get_window_children_request *req )
 {
     fprintf( stderr, " count=%d,", req->count );
-    fprintf( stderr, " parents=" );
+    fprintf( stderr, " children=" );
     cur_pos += dump_varargs_user_handles( req );
 }
 
Index: server/window.c
===================================================================
RCS file: /home/wine/wine/server/window.c,v
retrieving revision 1.2
diff -u -r1.2 window.c
--- server/window.c	2001/09/21 21:08:40	1.2
+++ server/window.c	2001/09/22 18:53:54
@@ -38,6 +38,7 @@
 /* link a window into the tree (or unlink it if the new parent is NULL)  */
 static void link_window( struct window *win, struct window *parent, struct window *previous )
 {
+    if (win == previous) return;
     if (win->parent)  /* unlink it from the previous location */
     {
         if (win->next) win->next->prev = win->prev;
-------------- next part --------------



More information about the wine-patches mailing list