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);
- KLINF("Release Pair : %s(%s:%d)(Focus: %d)(Status: %d) => wl_surface (%p) wl_client (%p) (pid: %d) (pname: %s)",
- ((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, pid, pname ?: "Unknown");
+ if (key_node_data->status == E_KRT_CSTAT_ALIVE)
+ {
+ 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);
+ KLINF("Release Pair : %s(%s:%d)(Focus: %d)(Status: %d) => wl_surface (%p) wl_client (%p) (pid: %d) (pname: %s)",
+ ((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, pid, pname ?: "Unknown");
+ if(pname) E_FREE(pname);
+ if(cmd) E_FREE(cmd);
+ }
+ else
+ {
+ 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);
+ }
if (key_node_data->focused && key_node_data->status != E_KRT_CSTAT_ALIVE) ev->data = (void *)0x1;
- if(pname) E_FREE(pname);
- if(cmd) E_FREE(cmd);
E_FREE(key_node_data);
if (res == EINA_FALSE) ret = EINA_FALSE;
}