X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e058b98d8a323e97fcac7a32fcb0a23ad438b595..7f0586ef60f9ac456ebad639026c14ed89d46c8b:/src/gtk1/dialog.cpp?ds=sidebyside diff --git a/src/gtk1/dialog.cpp b/src/gtk1/dialog.cpp index e948cddd10..4c95d23682 100644 --- a/src/gtk1/dialog.cpp +++ b/src/gtk1/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 && parent->IsBeingDeleted() ) + 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++;