Index: gdk/win32/gdkevents-win32.c
===================================================================
RCS file: /cvs/gnome/gtk+/gdk/win32/gdkevents-win32.c,v
retrieving revision 1.131.2.2
diff -u -r1.131.2.2 gdkevents-win32.c
--- gdk/win32/gdkevents-win32.c	24 May 2004 22:30:52 -0000	1.131.2.2
+++ gdk/win32/gdkevents-win32.c	28 Jul 2004 00:02:57 -0000
@@ -1723,8 +1723,12 @@
   point.x = client_rect.left; /* always 0 */
   point.y = client_rect.top;
   /* top level windows need screen coords */
-  if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL)
-    ClientToScreen (msg->hwnd, &point);
+  if (gdk_window_get_parent (window) == _gdk_parent_root)
+    {
+      ClientToScreen (msg->hwnd, &point);
+      point.x += _gdk_offset_x;
+      point.y += _gdk_offset_y;
+    }
 
   GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->width = client_rect.right - client_rect.left;
   GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->height = client_rect.bottom - client_rect.top;
@@ -1744,12 +1748,6 @@
       event->configure.x = point.x;
       event->configure.y = point.y;
 
-      if (gdk_window_get_parent (window) == _gdk_parent_root)
-	{
-	  event->configure.x += _gdk_offset_x;
-	  event->configure.y += _gdk_offset_y;
-	}
-
       append_event (gdk_drawable_get_display (window), event);
     }
 }
@@ -2994,15 +2992,19 @@
 	  point.x = client_rect.left; /* always 0 */
 	  point.y = client_rect.top;
 	  /* top level windows need screen coords */
-	  if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL)
-	    ClientToScreen (msg->hwnd, &point);
+	  if (gdk_window_get_parent (window) == _gdk_parent_root)
+	    {
+	      ClientToScreen (msg->hwnd, &point);
+	      point.x += _gdk_offset_x;
+	      point.y += _gdk_offset_y;
+	    }
   
 	  GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->width = client_rect.right - client_rect.left;
 	  GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->height = client_rect.bottom - client_rect.top;
 	  
 	  ((GdkWindowObject *) window)->x = point.x;
 	  ((GdkWindowObject *) window)->y = point.y;
-	  
+
 	  if (((GdkWindowObject *) window)->event_mask & GDK_STRUCTURE_MASK)
 	    {
 	      GdkEvent *event = gdk_event_new (GDK_CONFIGURE);
@@ -3015,12 +3017,6 @@
 	      event->configure.x = point.x;
 	      event->configure.y = point.y;
 	      
-	      if (gdk_window_get_parent (window) == _gdk_parent_root)
-		{
-		  event->configure.x += _gdk_offset_x;
-		  event->configure.y += _gdk_offset_y;
-		}
-	      
 	      if (((GdkWindowObject *) window)->resize_count > 1)
 		((GdkWindowObject *) window)->resize_count -= 1;
 	      
