e_client: don't set focus if ec is already focused 36/229836/3
authorJunseok, Kim <juns.kim@samsung.com>
Mon, 6 Apr 2020 02:20:35 +0000 (11:20 +0900)
committerJunseok, Kim <juns.kim@samsung.com>
Mon, 13 Apr 2020 05:35:07 +0000 (14:35 +0900)
Change-Id: I9bf51b6db7be09a53e697f7d099c28bedd4d1249
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
src/bin/e_client.c

index c6287bf6ab9db41735e4e78f3f6dc60499443fa3..66207cf95a87243c02758bd6b16af97b9cc809d6 100644 (file)
@@ -1060,7 +1060,7 @@ e_client_revert_focus(E_Client *ec)
    if (e_config->focus_policy_ext == E_FOCUS_EXT_TOP_STACK)
      {
         focus_ec = _e_client_focus_topmost_focusable_get();
-        if (focus_ec &&
+        if (focus_ec && (focus_ec != focused) &&
             (!focus_ec->iconic || focus_ec->exp_iconify.buffer_flush))
           {
              ELOGF("FOCUS", "focus set   | topmost_focus", focus_ec);
@@ -3600,7 +3600,7 @@ _e_client_focus_calculate(E_Zone *zone)
    if (e_config->focus_policy_ext == E_FOCUS_EXT_TOP_STACK)
      {
         ec = _e_client_focus_topmost_focusable_get();
-        if (ec)
+        if (ec && (ec != focused))
           {
              ELOGF("FOCUS", "focus set | topmost focus calculate", ec);
              e_client_frame_focus_set(ec, EINA_TRUE);