e_client: don't set focus if ec is already focused 86/230586/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 06:42:30 +0000 (06:42 +0000)
Change-Id: I9bf51b6db7be09a53e697f7d099c28bedd4d1249
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
src/bin/e_client.c

index b282585108cf387174127543ee4dcd5689c91a68..61db04f4bc582ed9a112df89c689050613cf5662 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);
@@ -3593,7 +3593,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);