diff --git a/src/gtk/win_gtk.c b/src/gtk/win_gtk.c index 27e2d156bb..fecb23b7f5 100644 --- a/src/gtk/win_gtk.c +++ b/src/gtk/win_gtk.c @@ -310,11 +310,11 @@ gtk_pizza_put (GtkPizza *pizza, pizza->children = g_list_append (pizza->children, child_info); - gtk_widget_set_parent (widget, GTK_WIDGET (pizza)); - if (GTK_WIDGET_REALIZED (pizza)) gtk_widget_set_parent_window (widget, pizza->bin_window); + gtk_widget_set_parent (widget, GTK_WIDGET (pizza)); + #ifndef __WXGTK20__ /* FIXME? */ if (!IS_ONSCREEN (x, y)) GTK_PRIVATE_SET_FLAG (widget, GTK_IS_OFFSCREEN); diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 8fa2da7e91..35bd845633 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -521,7 +521,8 @@ static int gtk_window_expose_callback( GtkWidget *widget, win->GetUpdateRegion() = wxRegion( gdk_event->region ); win->GtkSendPaintEvents(); - + + // Let parent window draw window less widgets (* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event); #else @@ -2595,7 +2596,7 @@ bool wxWindowGTK::PreCreation( wxWindowGTK *parent, const wxPoint &pos, const w void wxWindowGTK::PostCreation() { wxASSERT_MSG( (m_widget != NULL), wxT("invalid window") ); - + if (m_wxwindow) { if (!m_noExpose) @@ -2617,7 +2618,7 @@ void wxWindowGTK::PostCreation() GTK_SIGNAL_FUNC(gtk_window_event_event_callback), (gpointer)this ); } #else - gtk_widget_set_redraw_on_allocate( GTK_WIDGET(m_wxwindow), HasFlag( wxNO_FULL_REPAINT_ON_RESIZE ) ); + // gtk_widget_set_redraw_on_allocate( GTK_WIDGET(m_wxwindow), HasFlag( wxNO_FULL_REPAINT_ON_RESIZE ) ); #endif } diff --git a/src/gtk1/win_gtk.c b/src/gtk1/win_gtk.c index 27e2d156bb..fecb23b7f5 100644 --- a/src/gtk1/win_gtk.c +++ b/src/gtk1/win_gtk.c @@ -310,11 +310,11 @@ gtk_pizza_put (GtkPizza *pizza, pizza->children = g_list_append (pizza->children, child_info); - gtk_widget_set_parent (widget, GTK_WIDGET (pizza)); - if (GTK_WIDGET_REALIZED (pizza)) gtk_widget_set_parent_window (widget, pizza->bin_window); + gtk_widget_set_parent (widget, GTK_WIDGET (pizza)); + #ifndef __WXGTK20__ /* FIXME? */ if (!IS_ONSCREEN (x, y)) GTK_PRIVATE_SET_FLAG (widget, GTK_IS_OFFSCREEN); diff --git a/src/gtk1/window.cpp b/src/gtk1/window.cpp index 8fa2da7e91..35bd845633 100644 --- a/src/gtk1/window.cpp +++ b/src/gtk1/window.cpp @@ -521,7 +521,8 @@ static int gtk_window_expose_callback( GtkWidget *widget, win->GetUpdateRegion() = wxRegion( gdk_event->region ); win->GtkSendPaintEvents(); - + + // Let parent window draw window less widgets (* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event); #else @@ -2595,7 +2596,7 @@ bool wxWindowGTK::PreCreation( wxWindowGTK *parent, const wxPoint &pos, const w void wxWindowGTK::PostCreation() { wxASSERT_MSG( (m_widget != NULL), wxT("invalid window") ); - + if (m_wxwindow) { if (!m_noExpose) @@ -2617,7 +2618,7 @@ void wxWindowGTK::PostCreation() GTK_SIGNAL_FUNC(gtk_window_event_event_callback), (gpointer)this ); } #else - gtk_widget_set_redraw_on_allocate( GTK_WIDGET(m_wxwindow), HasFlag( wxNO_FULL_REPAINT_ON_RESIZE ) ); + // gtk_widget_set_redraw_on_allocate( GTK_WIDGET(m_wxwindow), HasFlag( wxNO_FULL_REPAINT_ON_RESIZE ) ); #endif }