--- gtk+-3.4.2/gdk/x11/gdkdnd-x11.c.orig	2012-04-10 00:47:18.000000000 +0100
+++ gtk+-3.4.2/gdk/x11/gdkdnd-x11.c	2012-05-11 21:25:50.242481854 +0100
@@ -240,12 +240,12 @@ gdk_drag_context_find (GdkDisplay *displ
                        Window      source_xid,
                        Window      dest_xid)
 {
-  GList *tmp_list = contexts;
+  GList *tmp_list;
   GdkDragContext *context;
   GdkX11DragContext *context_x11;
   Window context_dest_xid;
 
-  while (tmp_list)
+  for (tmp_list = contexts; tmp_list; tmp_list = tmp_list->next)
     {
       context = (GdkDragContext *)tmp_list->data;
       context_x11 = (GdkX11DragContext *)context;
@@ -265,8 +265,6 @@ gdk_drag_context_find (GdkDisplay *displ
             (GDK_WINDOW_XID (context->source_window) == source_xid))) &&
           ((dest_xid == None) || (context_dest_xid == dest_xid)))
         return context;
-
-      tmp_list = tmp_list->next;
     }
 
   return NULL;
