Index: gtkwindow.c
===================================================================
--- gtkwindow.c	(revision 17564)
+++ gtkwindow.c	(working copy)
@@ -5869,6 +5869,8 @@ gtk_window_move_resize (GtkWindow *windo
           
 	  gtk_widget_queue_resize (widget); /* migth recurse for GTK_RESIZE_IMMEDIATE */
 	}
+      else
+	gtk_widget_queue_draw (widget);
 
       return;			/* Bail out, we didn't really process the move/resize */
     }
Index: gtkwidget.c
===================================================================
--- gtkwidget.c	(revision 17566)
+++ gtkwidget.c	(working copy)
@@ -4119,6 +4119,17 @@ gtk_widget_event_internal (GtkWidget *wi
 	  signal_num = CLIENT_EVENT;
 	  break;
 	case GDK_EXPOSE:
+	  /* Discard exposes if the window is waiting on a configure
+	   * event.  (See gtk_window_move_resize() for more details.)
+	   */
+	  if (!event->any.send_event
+	      && GTK_IS_WINDOW (widget)
+	      && GTK_WINDOW (widget)->configure_request_count)
+	    {
+	      gtk_widget_unref (widget);
+	      return TRUE;
+	    }
+
 	  signal_num = EXPOSE_EVENT;
 	  break;
 	case GDK_VISIBILITY_NOTIFY:
