e_client: consider ec's bg_state while handling focus 91/193691/1 accepted/tizen/unified/20181126.143053 submit/tizen/20181125.235238
authorDoyoun Kang <doyoun.kang@samsung.com>
Fri, 23 Nov 2018 08:26:57 +0000 (17:26 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Fri, 23 Nov 2018 08:26:57 +0000 (17:26 +0900)
Change-Id: I5fd1873fac533199750798fcb6b0dac5aa48c91c

src/bin/e_client.c

index 9bd8dc126b00dd3de07b667eeac02ea3e864149e..855da2941feff07fe8c44b62c00acacb4ebe6ec3 100644 (file)
@@ -772,6 +772,7 @@ _e_client_check_fully_contain_by_above(E_Client *ec, Eina_Bool check_layer)
             (!e_client_util_ignored_get(above)) &&
             (above->visible) &&
             (!above->iconic || e_policy_visibility_client_is_uniconic(above)) &&
+            (!above->bg_state) &&
             (above->frame) &&
             (above->icccm.accepts_focus || above->icccm.take_focus))
           {
@@ -793,6 +794,7 @@ _e_client_focus_can_take(E_Client *ec)
    if (!(ec->icccm.accepts_focus || ec->icccm.take_focus)) return EINA_FALSE;
    if (ec->lock_focus_in || ec->lock_focus_out) return EINA_FALSE;
    if (!ec->visible) return EINA_FALSE;
+   if (ec->bg_state) return EINA_FALSE;
    if (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED)
      {
         if (ec->iconic && e_policy_visibility_client_is_iconic(ec))
@@ -3351,6 +3353,7 @@ _e_client_focus_calculate(E_Zone *zone)
         if (ec->lock_focus_in || ec->lock_focus_out) continue;
         if (!evas_object_visible_get(ec->frame)) continue;
         if (ec->iconic) continue;
+        if (ec->bg_state) continue;
         if (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED) continue;
         if (_e_client_check_fully_contain_by_above(ec, EINA_FALSE)) continue;