e_client: check buffer_flush during revert_focus 29/214329/2 accepted/tizen/unified/20190921.125429 submit/tizen/20190920.082324
authorJunseok, Kim <juns.kim@samsung.com>
Fri, 20 Sep 2019 08:20:22 +0000 (17:20 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Fri, 20 Sep 2019 08:23:21 +0000 (08:23 +0000)
there is bug that didn't send iconic_state_changed event to client.
if the client has buffer_flush off, that the client can uniconify
without send iconic_state_changed event in e_comp_intercept_focus.
this patch fix it with check buffer_flush before doing revert_focus.

Change-Id: I0f4932364f0444d544c67c12cd46ece5d32fd994

src/bin/e_client.c

index 87ac119c28d052ece35a3faa7d9cacee31631310..06df3e161f77ccc680f3ff52c7c1d342454bf587 100644 (file)
@@ -998,8 +998,11 @@ 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();
-        ELOGF("FOCUS", "focus set   | topmost_focus", focus_ec);
-        e_client_frame_focus_set(focus_ec, EINA_TRUE);
+        if (!focus_ec->iconic || focus_ec->exp_iconify.buffer_flush)
+          {
+             ELOGF("FOCUS", "focus set   | topmost_focus", focus_ec);
+             e_client_frame_focus_set(focus_ec, EINA_TRUE);
+          }
         return;
      }