From: JengHyun Kang Date: Tue, 4 Apr 2017 08:58:05 +0000 (+0900) Subject: Do not send key events, if a client is not alive X-Git-Tag: submit/tizen/20170518.071714~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=826ae4792c5c5ed828ebcbd0ddb72b30d4dea7bf;p=platform%2Fcore%2Fuifw%2Fe-mod-tizen-keyrouter.git Do not send key events, if a client is not alive Change-Id: I4507430727f992a59de4980b7170c56d23db3ad2 --- diff --git a/src/e_mod_keyrouter_events.c b/src/e_mod_keyrouter_events.c index 4207189..ec65f2b 100644 --- a/src/e_mod_keyrouter_events.c +++ b/src/e_mod_keyrouter_events.c @@ -134,11 +134,11 @@ _e_keyrouter_send_key_events_release(int type, Ecore_Event_Key *ev) /* Deliver release clean up pressed key list */ EINA_LIST_FREE(krt->HardKeys[ev->keycode].press_ptr, key_node_data) { - res = _e_keyrouter_send_key_event(type, key_node_data->surface, key_node_data->wc, ev, - key_node_data->focused, TIZEN_KEYROUTER_MODE_PRESSED); - if (key_node_data->status == E_KRT_CSTAT_ALIVE) { + res = _e_keyrouter_send_key_event(type, key_node_data->surface, key_node_data->wc, ev, + key_node_data->focused, TIZEN_KEYROUTER_MODE_PRESSED); + pid = e_keyrouter_util_get_pid(key_node_data->wc, key_node_data->surface); cmd = e_keyrouter_util_cmd_get_from_pid(pid); pname = e_keyrouter_util_process_name_get_from_cmd(cmd); @@ -150,6 +150,7 @@ _e_keyrouter_send_key_events_release(int type, Ecore_Event_Key *ev) } else { + if (key_node_data->focused == EINA_TRUE) res = EINA_FALSE; KLINF("Release Pair : %s(%s:%d)(Focus: %d)(Status: %d) => wl_surface (%p) wl_client (%p) process is ungrabbed / dead", ((ECORE_EVENT_KEY_DOWN == type) ? "Down" : "Up"), ev->keyname, ev->keycode, key_node_data->focused, key_node_data->status, key_node_data->surface, key_node_data->wc);