+
+ if (m_queuedFullRedraw)
+ {
+ /* See also wxWindow::DoMoveWindow for explanation of this code. What
+ we test here is if the requested size of the window is the same as
+ the actual size of window, in which case all expose events that resulted
+ from resizing the window have been sent (and discarded) and we can
+ now do our full redraw and switch on expose event handling again. */
+
+ bool child_already_resized = FALSE;
+ if (m_isFrame)
+ child_already_resized = gtk_pizza_child_resized( GTK_PIZZA(m_wxwindow->parent), m_wxwindow );
+ else
+ child_already_resized = gtk_pizza_child_resized( GTK_PIZZA(m_widget->parent), m_widget );
+
+ if (child_already_resized)
+ {
+ m_queuedFullRedraw = FALSE;
+ m_updateRegion.Clear();
+ m_updateRegion.Union( 0,0,m_width,m_height );
+ gtk_widget_draw( m_wxwindow, (GdkRectangle*) NULL );
+
+ GdkEventMask mask = gdk_window_get_events( GTK_PIZZA(m_wxwindow)->bin_window );
+ mask = (GdkEventMask)(mask | GDK_EXPOSURE_MASK);
+ gdk_window_set_events( GTK_PIZZA(m_wxwindow)->bin_window, mask );
+ }
+ }