X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/16b0811668afb4562403cfb5230c73093bca2d28..64ea838d8f4d1853b7d850db93ee565e901d099a:/src/gtk1/dialog.cpp diff --git a/src/gtk1/dialog.cpp b/src/gtk1/dialog.cpp index 90c46a9ff8..1646b771cb 100644 --- a/src/gtk1/dialog.cpp +++ b/src/gtk1/dialog.cpp @@ -43,8 +43,6 @@ BEGIN_EVENT_TABLE(wxDialog,wxDialogBase) EVT_CLOSE (wxDialog::OnCloseWindow) END_EVENT_TABLE() -IMPLEMENT_DYNAMIC_CLASS(wxDialog,wxTopLevelWindow) - void wxDialog::Init() { m_returnCode = 0; @@ -162,6 +160,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(); @@ -189,15 +190,11 @@ int wxDialog::ShowModal() // use the apps top level window as parent if none given unless explicitly // forbidden - if ( !GetParent() && !(GetWindowStyleFlag() & wxDIALOG_NO_PARENT) ) + wxWindow * const parent = GetParentForModalDialog(); + if ( parent ) { - wxWindow *parent = wxTheApp->GetTopWindow(); - wxWindow * const parent = GetParentForModalDialog(); - if ( parent && parent != this ) - { - m_parent = parent; - gtk_window_set_transient_for( GTK_WINDOW(m_widget), GTK_WINDOW(parent->m_widget) ); - } + m_parent = parent; + gtk_window_set_transient_for( GTK_WINDOW(m_widget), GTK_WINDOW(parent->m_widget) ); } wxBusyCursorSuspender cs; // temporarily suppress the busy cursor