e_client: defer_focus unset if activated ec has transient_for child 06/232106/2
authorJunseok, Kim <juns.kim@samsung.com>
Tue, 28 Apr 2020 08:07:23 +0000 (17:07 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Wed, 29 Apr 2020 00:22:49 +0000 (00:22 +0000)
The focus of child EC by parent activates can be lost during the deferred focus calculation.
This patch prevents this bug as defer_focus unset of parent EC.

Change-Id: I49fd5149a89b7743dd96376a7c2fe49531be6004
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
src/bin/e_client.c

index 4cca4700a95a358e6cdd1329964836a4e229851c..2e7a8e8b9ca514d3f1c9ca90cb85e416781ef939 100644 (file)
@@ -5587,6 +5587,8 @@ e_client_activate(E_Client *ec, Eina_Bool just_do_it)
 
              if (!focus_ec)
                focus_ec = ec;
+             else
+               e_client_focus_defer_unset(ec);
 
              obscured_above = _e_client_check_fully_contain_by_above(focus_ec, EINA_FALSE);
              if (!obscured_above)