]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/toplevel.cpp
fixing focus, fixes #11911
[wxWidgets.git] / src / msw / toplevel.cpp
index 37739849902b79ece53fe6be7c667838cfb917ce..d5b115495e7b8d9988796b8407ca07bef2237cdc 100644 (file)
@@ -482,12 +482,15 @@ bool wxTopLevelWindowMSW::Create(wxWindow *parent,
         sizeReal.SetDefaults(GetDefaultSize());
     }
 
         sizeReal.SetDefaults(GetDefaultSize());
     }
 
+    // notice that we should append this window to wxTopLevelWindows list
+    // before calling CreateBase() as it behaves differently for TLW and
+    // non-TLW windows
+    wxTopLevelWindows.Append(this);
+
     bool ret = CreateBase(parent, id, pos, sizeReal, style, name);
     if ( !ret )
         return false;
 
     bool ret = CreateBase(parent, id, pos, sizeReal, style, name);
     if ( !ret )
         return false;
 
-    wxTopLevelWindows.Append(this);
-
     if ( parent )
         parent->AddChild(this);
 
     if ( parent )
         parent->AddChild(this);
 
@@ -609,6 +612,14 @@ void wxTopLevelWindowMSW::DoShowWindow(int nShowCmd)
     m_iconized = nShowCmd == SW_MINIMIZE;
 }
 
     m_iconized = nShowCmd == SW_MINIMIZE;
 }
 
+void wxTopLevelWindowMSW::ShowWithoutActivating()
+{
+    if ( !wxWindowBase::Show(true) )
+        return;
+        
+    DoShowWindow(SW_SHOWNA);
+}
+
 bool wxTopLevelWindowMSW::Show(bool show)
 {
     // don't use wxWindow version as we want to call DoShowWindow() ourselves
 bool wxTopLevelWindowMSW::Show(bool show)
 {
     // don't use wxWindow version as we want to call DoShowWindow() ourselves