X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c8326d649c00a47d3e77770a8e0a0a3b7ead56bb..3e1924dd5f5744c3e2a8973de9b3e4f372b7fd85:/src/gtk1/dialog.cpp?ds=sidebyside diff --git a/src/gtk1/dialog.cpp b/src/gtk1/dialog.cpp index 67f0984c08..540910d9dc 100644 --- a/src/gtk1/dialog.cpp +++ b/src/gtk1/dialog.cpp @@ -141,7 +141,7 @@ void wxDialog::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) wxCommandEvent cancelEvent(wxEVT_COMMAND_BUTTON_CLICKED, wxID_CANCEL); cancelEvent.SetEventObject( this ); - GetEventHandler()->ProcessEvent(cancelEvent); + HandleWindowEvent(cancelEvent); s_closing.DeleteObject(this); } @@ -162,6 +162,9 @@ bool wxDialog::Show( bool show ) GtkOnSize( m_x, m_y, m_width, m_height ); } + if (show && CanDoLayoutAdaptation()) + DoLayoutAdaptation(); + bool ret = wxWindow::Show( show ); if (show) InitDialog(); @@ -191,11 +194,8 @@ int wxDialog::ShowModal() // forbidden if ( !GetParent() && !(GetWindowStyleFlag() & wxDIALOG_NO_PARENT) ) { - wxWindow *parent = wxTheApp->GetTopWindow(); - if ( parent && - parent != this && - parent->IsBeingDeleted() && - !(parent->GetExtraStyle() & wxWS_EX_TRANSIENT) ) + wxWindow * const parent = GetParentForModalDialog(); + if ( parent ) { m_parent = parent; gtk_window_set_transient_for( GTK_WINDOW(m_widget), GTK_WINDOW(parent->m_widget) );