--- gtk+-1.2.10/gdk/gdkdnd.c.newwindow Tue Mar 14 00:41:53 2000 +++ gtk+-1.2.10/gdk/gdkdnd.c Wed Feb 13 18:40:04 2002 @@ -275,12 +275,16 @@ 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; } } }