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);
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);

View File

@@ -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
}

View File

@@ -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);

View File

@@ -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
}