9fcb0f8
--- gtk+-1.2.10/gdk/gdkevents.c.expose	Sun Dec  3 11:02:49 2000
9fcb0f8
+++ gtk+-1.2.10/gdk/gdkevents.c	Wed Jul 11 15:54:18 2001
9fcb0f8
@@ -383,6 +383,7 @@
9fcb0f8
 struct _GdkExposeInfo
9fcb0f8
 {
9fcb0f8
   Window window;
9fcb0f8
+  GdkWindowPrivate *toplevel_window;
9fcb0f8
   gboolean seen_nonmatching;
9fcb0f8
 };
9fcb0f8
 
9fcb0f8
@@ -400,10 +401,21 @@
9fcb0f8
    * we'll get a whole bunch of them interspersed with
9fcb0f8
    * expose events.
9fcb0f8
    */
9fcb0f8
-  if (xevent->xany.type != Expose && 
9fcb0f8
-      xevent->xany.type != GravityNotify)
9fcb0f8
+  switch (xevent->xany.type)
9fcb0f8
     {
9fcb0f8
+    case Expose:
9fcb0f8
+    case GravityNotify:
9fcb0f8
+      break;
9fcb0f8
+    case ConfigureNotify:
9fcb0f8
+      if (xevent->xconfigure.window != info->toplevel_window->xwindow)
9fcb0f8
+	break;
9fcb0f8
+      if (xevent->xconfigure.width == info->toplevel_window->width &&
9fcb0f8
+	  xevent->xconfigure.height == info->toplevel_window->height)
9fcb0f8
+	break;
9fcb0f8
+      /* Fall through */
9fcb0f8
+    default:
9fcb0f8
       info->seen_nonmatching = TRUE;
9fcb0f8
+      break;
9fcb0f8
     }
9fcb0f8
 
9fcb0f8
   if (info->seen_nonmatching ||
9fcb0f8
@@ -429,6 +441,7 @@
9fcb0f8
   GdkEvent event;
9fcb0f8
 
9fcb0f8
   info.window = xevent->xany.window;
9fcb0f8
+  info.toplevel_window = (GdkWindowPrivate *) gdk_window_get_toplevel (window);
9fcb0f8
   info.seen_nonmatching = FALSE;
9fcb0f8
   
9fcb0f8
   rect1.x = xevent->xexpose.x;