GTK 2.0 is VERY picky about the realize/map/set_parent order.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@17413 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2002-09-30 19:30:52 +00:00
parent 0fcac944f3
commit b1b937339c
4 changed files with 12 additions and 10 deletions

View File

@@ -310,11 +310,11 @@ gtk_pizza_put (GtkPizza *pizza,
pizza->children = g_list_append (pizza->children, child_info); pizza->children = g_list_append (pizza->children, child_info);
gtk_widget_set_parent (widget, GTK_WIDGET (pizza));
if (GTK_WIDGET_REALIZED (pizza)) if (GTK_WIDGET_REALIZED (pizza))
gtk_widget_set_parent_window (widget, pizza->bin_window); gtk_widget_set_parent_window (widget, pizza->bin_window);
gtk_widget_set_parent (widget, GTK_WIDGET (pizza));
#ifndef __WXGTK20__ /* FIXME? */ #ifndef __WXGTK20__ /* FIXME? */
if (!IS_ONSCREEN (x, y)) if (!IS_ONSCREEN (x, y))
GTK_PRIVATE_SET_FLAG (widget, GTK_IS_OFFSCREEN); GTK_PRIVATE_SET_FLAG (widget, GTK_IS_OFFSCREEN);

View File

@@ -522,6 +522,7 @@ static int gtk_window_expose_callback( GtkWidget *widget,
win->GtkSendPaintEvents(); win->GtkSendPaintEvents();
// Let parent window draw window less widgets // Let parent window draw window less widgets
(* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event); (* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event);
#else #else
@@ -2617,7 +2618,7 @@ void wxWindowGTK::PostCreation()
GTK_SIGNAL_FUNC(gtk_window_event_event_callback), (gpointer)this ); GTK_SIGNAL_FUNC(gtk_window_event_event_callback), (gpointer)this );
} }
#else #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 #endif
} }

View File

@@ -310,11 +310,11 @@ gtk_pizza_put (GtkPizza *pizza,
pizza->children = g_list_append (pizza->children, child_info); pizza->children = g_list_append (pizza->children, child_info);
gtk_widget_set_parent (widget, GTK_WIDGET (pizza));
if (GTK_WIDGET_REALIZED (pizza)) if (GTK_WIDGET_REALIZED (pizza))
gtk_widget_set_parent_window (widget, pizza->bin_window); gtk_widget_set_parent_window (widget, pizza->bin_window);
gtk_widget_set_parent (widget, GTK_WIDGET (pizza));
#ifndef __WXGTK20__ /* FIXME? */ #ifndef __WXGTK20__ /* FIXME? */
if (!IS_ONSCREEN (x, y)) if (!IS_ONSCREEN (x, y))
GTK_PRIVATE_SET_FLAG (widget, GTK_IS_OFFSCREEN); GTK_PRIVATE_SET_FLAG (widget, GTK_IS_OFFSCREEN);

View File

@@ -522,6 +522,7 @@ static int gtk_window_expose_callback( GtkWidget *widget,
win->GtkSendPaintEvents(); win->GtkSendPaintEvents();
// Let parent window draw window less widgets // Let parent window draw window less widgets
(* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event); (* GTK_WIDGET_CLASS (pizza_parent_class)->expose_event) (widget, gdk_event);
#else #else
@@ -2617,7 +2618,7 @@ void wxWindowGTK::PostCreation()
GTK_SIGNAL_FUNC(gtk_window_event_event_callback), (gpointer)this ); GTK_SIGNAL_FUNC(gtk_window_event_event_callback), (gpointer)this );
} }
#else #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 #endif
} }