]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/containr.cpp
blind compilation fix for wxUSE_STL==1 (bug 985662)
[wxWidgets.git] / src / common / containr.cpp
index 6df39ca62c9e2ab220a33ccf34a46a02cc0a7422..4c3b90575d343c9140466d824c6e815fdc0cab55 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     06.08.01
 // RCS-ID:      $Id$
 // Copyright:   (c) 2001 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// License:     wxWidgets licence
+// License:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -342,8 +342,13 @@ bool wxControlContainer::DoSetFocus()
     wxLogTrace(_T("focus"), _T("SetFocus on wxPanel 0x%08lx."),
                (unsigned long)m_winParent->GetHandle());
 
+    // FIXME: this recursion protection is needed for wxMac,
+    // but on Windows (at least), it breaks focus handling.
+    // This needs to be investigated further.
+#ifdef __WXMAC__
     if (m_inSetFocus)
         return true;
+#endif    
 
     m_inSetFocus = true;
     
@@ -357,7 +362,8 @@ bool wxControlContainer::DoSetFocus()
         if ( win == m_winParent )
         {
             // our child already has focus, don't take it away from it
-            return TRUE;
+            m_inSetFocus = false;
+            return true;
         }
 
         if ( win->IsTopLevel() )