]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/dialog.cpp
Fix to MDI to restore 3D border; kludge to OGL Studio sample to redraw
[wxWidgets.git] / src / msw / dialog.cpp
index 2a01b7671db076e2d3cf9d57b642d43c29d61925..4a72ff9560d83b5b8dc46d4c2f1cf858fe0d0a60 100644 (file)
@@ -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);
 }