X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/82c9f85ce5aceaa3aedac7e690070d5eff904e5b..61a83c1c503c5c8e9840d82e4f45dd50979ff358:/src/gtk/dialog.cpp?ds=sidebyside diff --git a/src/gtk/dialog.cpp b/src/gtk/dialog.cpp index d1d13da9b3..4c95d23682 100644 --- a/src/gtk/dialog.cpp +++ b/src/gtk/dialog.cpp @@ -30,8 +30,6 @@ extern void wxapp_install_idle_handler(); extern bool g_isIdle; extern int g_openDialogs; - - //----------------------------------------------------------------------------- // wxDialog //----------------------------------------------------------------------------- @@ -198,7 +196,10 @@ int wxDialog::ShowModal() if ( !GetParent() && !(GetWindowStyleFlag() & wxDIALOG_NO_PARENT) ) { wxWindow *parent = wxTheApp->GetTopWindow(); - if ( parent && parent != this ) + if ( parent && + parent != this && + parent->IsBeingDeleted() && + !(parent->GetExtraStyle() & wxWS_EX_TRANSIENT) ) { m_parent = parent; gtk_window_set_transient_for( GTK_WINDOW(m_widget), GTK_WINDOW(parent->m_widget) ); @@ -206,9 +207,11 @@ int wxDialog::ShowModal() } wxBusyCursorSuspender cs; // temporarily suppress the busy cursor - + Show( TRUE ); + SetFocus(); + m_modalShowing = TRUE; g_openDialogs++;