From b444ab4944764328a0ed0a1a13a69c7f0a387d0f Mon Sep 17 00:00:00 2001 From: "keonpyo.kong" Date: Mon, 8 Jul 2013 22:58:26 +0900 Subject: [PATCH] bug fix focusmanager Change-Id: I8616b8821462bf7928cd7533ae5dd456cee8241e Signed-off-by: keonpyo.kong --- src/ui/FUi_FocusManagerImpl.cpp | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/ui/FUi_FocusManagerImpl.cpp b/src/ui/FUi_FocusManagerImpl.cpp index 4161341..cf6bae7 100644 --- a/src/ui/FUi_FocusManagerImpl.cpp +++ b/src/ui/FUi_FocusManagerImpl.cpp @@ -223,11 +223,8 @@ _FocusManagerImpl::FindTraversalControlFromChild(_Control* pControl) return FindTraversalControlFromChild(pParent); } } - else - { - return pControl; - } + return pControl; } bool @@ -264,26 +261,27 @@ void _FocusManagerImpl::StartFocusTraversal(_Control* pControl, FocusDirection focusDirection) { _Window* pTop = pControl->GetRootWindow(); + if (pTop == null) + { + return; + } bool isWindowEnabled = pTop->IsEnabled(); if (!isWindowEnabled) { return; } - if (pTop) + _Control* pFocusTraversalControl = pTop->GetFocusTraversalControl(pControl); + if (pFocusTraversalControl) { - _Control* pFocusTraversalControl = pTop->GetFocusTraversalControl(pControl); - if (pFocusTraversalControl) - { - pControl = pFocusTraversalControl; - } - else - { - _Control* pTraversalControl = FindTraversalControlFromChild(pControl); - pTop->SetFocusTraversalControl(pTraversalControl); - - } + pControl = pFocusTraversalControl; + } + else + { + _Control* pTraversalControl = FindTraversalControlFromChild(pControl); + pTop->SetFocusTraversalControl(pTraversalControl); } + bool focusMode = pControl->IsFocusModeStateEnabled(); if (__isFocusMode == false) { @@ -329,10 +327,7 @@ _FocusManagerImpl::StartFocusTraversal(_Control* pControl, FocusDirection focusD IListT<_Control*>* pFocusControlList = null; - if (pTop) - { - pFocusControlList = pTop->GetFocusList(); - } + pFocusControlList = pTop->GetFocusList(); if (pFocusControlList) { @@ -363,6 +358,10 @@ _FocusManagerImpl::StartFocusTraversal(_Control* pControl, FocusDirection focusD { pNextFocusControl->SetFocused(); } + else + { + pTop->SetFocusControl(pNextFocusControl, true); + } findNextFocusControl = true; break; } @@ -493,3 +492,4 @@ _FocusManagerImpl::OnTouchCanceled(const _Control& source, const _TouchInfo& tou return false; } } } //Tizen::Ui + -- 2.7.4