Ignore a invisible client while checking top visible window 08/75708/2 accepted/tizen/common/20160621.184603 accepted/tizen/ivi/20160621.084328 accepted/tizen/mobile/20160621.084253 accepted/tizen/tv/20160621.084307 accepted/tizen/wearable/20160621.084321 submit/tizen/20160621.065737
authorJengHyun Kang <jhyuni.kang@samsung.com>
Tue, 21 Jun 2016 05:51:18 +0000 (14:51 +0900)
committerJengHyun Kang <jhyuni.kang@samsung.com>
Tue, 21 Jun 2016 05:56:36 +0000 (14:56 +0900)
Change-Id: I2dca28581ba51510c6fb35822189641dd057a7c2

src/e_mod_keyrouter_events.c

index 4682f78ca8b4826437fd251536382690cfcded46..23e0824e7f6ec9e29b494e2e937d38a0e91a4b7b 100644 (file)
@@ -420,6 +420,11 @@ _e_keyrouter_check_top_visible_window(E_Client *ec_focus, int arr_idx)
              KLDBG("Top Client(%p) is invisible(%d) but focus client\n", ec_top, ec_top->visible);
              return EINA_FALSE;
           }
+        if (!ec_top->visible)
+          {
+             ec_top = e_client_below_get(ec_top);
+             continue;
+          }
 
         /* TODO: Check this client is located inside a display boundary */
 
@@ -430,8 +435,8 @@ _e_keyrouter_check_top_visible_window(E_Client *ec_focus, int arr_idx)
                   if (ec_top == wl_resource_get_user_data(key_node_data->surface))
                     {
                        krt->HardKeys[arr_idx].top_ptr = eina_list_promote_list(krt->HardKeys[arr_idx].top_ptr, l);
-                       KLDBG("Move a client(%p) to first index of list(key: %d)\n",
-                                ec_top, arr_idx);
+                       KLDBG("Move a client(ec: %p, surface: %p) to first index of list(key: %d)\n",
+                                ec_top, key_node_data->surface, arr_idx);
                        return EINA_TRUE;
                     }
                }