m_isBeingDeleted = true;
m_hasVMT = false;
+ // destroy children before destroying this window itself
+ DestroyChildren();
+
+ // unhook focus handlers to prevent stray events being
+ // propagated to this (soon to be) dead object
+ if (m_focusWidget != NULL)
+ {
+ gtk_signal_disconnect_by_func( GTK_OBJECT(m_focusWidget),
+ (GtkSignalFunc) gtk_window_focus_in_callback, (gpointer) this );
+ gtk_signal_disconnect_by_func( GTK_OBJECT(m_focusWidget),
+ (GtkSignalFunc) gtk_window_focus_out_callback, (gpointer) this );
+ }
+
if (m_widget)
Show( false );
- DestroyChildren();
-
#ifdef HAVE_XIM
if (m_ic)
gdk_ic_destroy (m_ic);
return gtk_widget_get_pango_context( m_widget );
}
+// MR: Returns the same as GtkGetPangoDefaultContext until the symbol can be removed in 2.7.x
PangoContext *wxWindowGTK::GtkGetPangoX11Context()
{
- if (!m_x11Context)
- m_x11Context = pango_x_get_context( gdk_display );
-
- return m_x11Context;
+ return gtk_widget_get_pango_context( m_widget );
}
#endif