The FocusChanged event callback is called before the FocusLost 89/276289/7
authorjoogab.yun <joogab.yun@samsung.com>
Tue, 14 Jun 2022 05:37:42 +0000 (14:37 +0900)
committerjoogab yun <joogab.yun@samsung.com>
Tue, 14 Jun 2022 05:37:07 +0000 (05:37 +0000)
Change-Id: I131c7e32a4372b54b2b57c5acf53bfdc5a82c15a

dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp

index 20186ef..3df6d4b 100644 (file)
@@ -246,14 +246,6 @@ bool KeyboardFocusManager::DoSetCurrentFocusActor(Actor actor)
       actor.Add(GetFocusIndicatorActor());
     }
 
       actor.Add(GetFocusIndicatorActor());
     }
 
-    Toolkit::Control currentlyFocusedControl = Toolkit::Control::DownCast(currentFocusedActor);
-    if(currentlyFocusedControl)
-    {
-      // Do we need it to remember if it was previously DISABLED?
-      currentlyFocusedControl.SetProperty(DevelControl::Property::STATE, DevelControl::NORMAL);
-      currentlyFocusedControl.ClearKeyInputFocus();
-    }
-
     // Save the current focused actor
     mCurrentFocusActor = actor;
 
     // Save the current focused actor
     mCurrentFocusActor = actor;
 
@@ -279,6 +271,14 @@ bool KeyboardFocusManager::DoSetCurrentFocusActor(Actor actor)
       mFocusChangedSignal.Emit(currentFocusedActor, actor);
     }
 
       mFocusChangedSignal.Emit(currentFocusedActor, actor);
     }
 
+    Toolkit::Control currentlyFocusedControl = Toolkit::Control::DownCast(currentFocusedActor);
+    if(currentlyFocusedControl)
+    {
+      // Do we need it to remember if it was previously DISABLED?
+      currentlyFocusedControl.SetProperty(DevelControl::Property::STATE, DevelControl::NORMAL);
+      currentlyFocusedControl.ClearKeyInputFocus();
+    }
+
     Toolkit::Control newlyFocusedControl = Toolkit::Control::DownCast(actor);
     if(newlyFocusedControl)
     {
     Toolkit::Control newlyFocusedControl = Toolkit::Control::DownCast(actor);
     if(newlyFocusedControl)
     {