Index: gdk/gdkdnd.c
===================================================================
RCS file: /cvs/gnome/gtk+/gdk/gdkdnd.c,v
retrieving revision 1.25.2.7
retrieving revision 1.25.2.9
diff -u -p -r1.25.2.7 -r1.25.2.9
--- gtk+-1.2.10/gdk/gdkdnd.c	13 Mar 2000 23:41:53 -0000	1.25.2.7
+++ gtk+-1.2.10/gdk/gdkdnd.c	14 May 2002 22:14:15 -0000	1.25.2.9
@@ -275,12 +275,16 @@ gdk_window_cache_filter (GdkXEvent *xev,
 							 GUINT_TO_POINTER (xce->above));
 		if (above_node && node->prev != above_node)
 		  {
+		    /* Put the window above (before in the list) above_node
+		     */
 		    cache->children = g_list_remove_link (cache->children, node);
-		    node->next = above_node->next;
-		    if (node->next)
-		      node->next->prev = node;
-		    node->prev = above_node;
-		    above_node->next = node;
+		    node->prev = above_node->prev;
+		    if (node->prev)
+		      node->prev->next = node;
+		    else
+		      cache->children = node;
+		    node->next = above_node;
+		    above_node->prev = node;
 		  }
 	      }
 	  }
