X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d491523b1f5aef1081306d7e3002eb63b91c5cc9..59840ba3b16e4baf3228dd79c6b7ae40b55cf488:/src/os2/dialog.cpp?ds=sidebyside diff --git a/src/os2/dialog.cpp b/src/os2/dialog.cpp index 63f5abfe25..eb635379c9 100644 --- a/src/os2/dialog.cpp +++ b/src/os2/dialog.cpp @@ -93,6 +93,12 @@ bool wxDialog::Create( )) return FALSE; SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT)); + + // + // Must defer setting the title until after dialog is created and sized + // + if (!rsTitle.IsNull()) + SetTitle(rsTitle); return TRUE; } // end of wxDialog::Create @@ -194,7 +200,11 @@ void wxDialog::DoShowModal() // wxASSERT_MSG(!m_pWindowDisabler, _T("disabling windows twice?")); - m_pWindowDisabler = new wxWindowDisabler(this); + // + // Disables other app windows and window proc message processing + // until WinDismissDlg called + // + ::WinProcessDlg((HWND)GetHwnd()); // // Enter the modal loop @@ -237,7 +247,8 @@ bool wxDialog::Show( // // If we had disabled other app windows, reenable them back now because // if they stay disabled Windows will activate another window (one - // which is enabled, anyhow) and we will lose activation + // which is enabled, anyhow) and we will lose activation. We really don't + // do this in OS/2 since PM does this for us. // if (m_pWindowDisabler) { @@ -265,6 +276,8 @@ bool wxDialog::Show( InitDialog(); } + if (GetTitle().c_str()) + ::WinSetWindowText((HWND)GetHwnd(), GetTitle().c_str()); if (IsModal()) { if (bShow) @@ -318,6 +331,7 @@ void wxDialog::EndModal( { SetReturnCode(nRetCode); Show(FALSE); + ::WinDismissDlg((HWND)GetHwnd(), nRetCode); } // end of wxDialog::EndModal // ----------------------------------------------------------------------------