From 2e07bdda0ab5e73554a65a32864b6829f7bf61e4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Fri, 23 Jul 2004 16:44:46 +0000 Subject: [PATCH] reverted JS' rev. 1.27 - the real fix was 1.28, disabling recursion protection is not good idea git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/containr.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/common/containr.cpp b/src/common/containr.cpp index 4c3b90575d..f9595d1f0a 100644 --- a/src/common/containr.cpp +++ b/src/common/containr.cpp @@ -342,16 +342,9 @@ 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; - + // when the panel gets the focus we move the focus to either the last // window that had the focus or the first one that can get it unless the // focus had been already set to some other child @@ -362,7 +355,6 @@ bool wxControlContainer::DoSetFocus() if ( win == m_winParent ) { // our child already has focus, don't take it away from it - m_inSetFocus = false; return true; } @@ -375,6 +367,9 @@ bool wxControlContainer::DoSetFocus() win = win->GetParent(); } + + // protect against infinite recursion: + m_inSetFocus = true; bool ret = SetFocusToChild(); -- 2.50.0