From: Julian Smart Date: Tue, 22 Feb 2000 08:54:05 +0000 (+0000) Subject: Moved the wxDialog BringWindowToFront fix to Show because it happens in X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/86ad564eb15c19a75321f7ac9a6c6104cecc81c8?ds=inline Moved the wxDialog BringWindowToFront fix to Show because it happens in modeless dialogs too, if other windows have been disabled. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6201 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/msw/dialog.cpp b/src/msw/dialog.cpp index 2a01b7671d..4a72ff9560 100644 --- a/src/msw/dialog.cpp +++ b/src/msw/dialog.cpp @@ -575,6 +575,18 @@ void wxDialog::DoShowModal() bool wxDialog::Show(bool show) { + // The following is required when the parent has been disabled, + // (modal dialogs, or modeless dialogs with disabling such as wxProgressDialog). + // Otherwise the parent disappears behind other windows when the dialog is hidden. + if (!show) + { + HWND hwndParent = GetParent() ? (HWND) GetParent()->GetHWND() : (HWND)NULL; + if ( hwndParent ) + { + ::BringWindowToTop(hwndParent); + } + } + if ( !wxDialogBase::Show(show) ) { // nothing to do @@ -620,12 +632,6 @@ void wxDialog::EndModal(int retCode) { SetReturnCode(retCode); - HWND hwndParent = GetParent() ? (HWND) GetParent()->GetHWND() : (HWND)NULL; - if ( hwndParent ) - { - ::BringWindowToTop(hwndParent); - } - Show(FALSE); }