]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/dialog.cpp
compialtion fixes
[wxWidgets.git] / src / msw / dialog.cpp
index ec79f72f57f21f3197ea457afbc59a475532c5f6..e73db1485fa9200bec02b40ef162b3f90019bd22 100644 (file)
@@ -26,6 +26,8 @@
 #include "wx/frame.h"
 #include "wx/app.h"
 #include "wx/settings.h"
+#include "wx/intl.h"
+#include "wx/log.h"
 #endif
 
 #include "wx/msw/private.h"
@@ -310,7 +312,13 @@ bool wxDialog::Show(bool show)
   {
     if (show)
     {
-      m_hwndOldFocus = (WXHWND)::GetFocus();
+      // find the top level window which had focus before - we will restore
+      // focus to it later
+      m_hwndOldFocus = 0;
+      for ( HWND hwnd = ::GetFocus(); hwnd; hwnd = ::GetParent(hwnd) )
+      {
+        m_hwndOldFocus = (WXHWND)hwnd;
+      }
 
       if (m_modalShowing)
       {