e_keyrouter_wl: refactor code
[platform/upstream/enlightenment.git] / src / bin / server / e_keyrouter_wl.c
index edcf594..dc186cc 100644 (file)
@@ -345,22 +345,33 @@ _e_keyrouter_cb_keygrab_set(struct wl_client *client, struct wl_resource *resour
 static void
 _e_keyrouter_input_thread_keygrab_unset(void *data)
 {
-   int res = 0;
    E_Input_Thread_Request_Keygrab_Data *keygrab_data = data;
-   EINA_SAFETY_ON_NULL_RETURN(keygrab_data);
+   int res = 0;
+
+   res = _e_keyrouter_keygrab_key_available_check(keygrab_data->key);
+   if (res != TIZEN_KEYROUTER_ERROR_NONE)
+      goto failed;
 
-   res = e_keyrouter_keygrab_unset(keygrab_data->client, keygrab_data->surface, keygrab_data->key);
+   e_keyrouter_keygrab_unset(keygrab_data->client,
+               keygrab_data->surface, keygrab_data->key);
 
-   TRACE_INPUT_END();
+   KLDBG("Success to %d key ungrab request (wl_client: %p, wl_surface: %p, pid: %d)",
+         keygrab_data->key, keygrab_data->client, keygrab_data->surface,
+         e_keyrouter_util_get_pid(keygrab_data->client, keygrab_data->surface));
+
+   tizen_keyrouter_send_keygrab_notify(keygrab_data->resource,
+      keygrab_data->surface, keygrab_data->key, TIZEN_KEYROUTER_MODE_NONE, res);
 
-   if (res == TIZEN_KEYROUTER_ERROR_NONE)
-     KLDBG("Success to %d key ungrab request (wl_client: %p, wl_surface: %p, pid: %d)", keygrab_data->key, keygrab_data->client, keygrab_data->surface,
-           e_keyrouter_util_get_pid(keygrab_data->client, keygrab_data->surface));
-   else
-     KLINF("Failed to %d key ungrab request (wl_client: %p, wl_surface: %p, pid: %d): res: %d", keygrab_data->key, keygrab_data->client, keygrab_data->surface,
-           e_keyrouter_util_get_pid(keygrab_data->client, keygrab_data->surface), res);
+   return;
+
+failed:
+   KLINF("Failed to %d key ungrab request (wl_client: %p, wl_surface: %p, pid: %d): res: %d",
+         keygrab_data->key, keygrab_data->client, keygrab_data->surface,
+         e_keyrouter_util_get_pid(keygrab_data->client, keygrab_data->surface),
+         res);
 
-   tizen_keyrouter_send_keygrab_notify(keygrab_data->resource, keygrab_data->surface, keygrab_data->key, TIZEN_KEYROUTER_MODE_NONE, res);
+   tizen_keyrouter_send_keygrab_notify(keygrab_data->resource,
+      keygrab_data->surface, keygrab_data->key, TIZEN_KEYROUTER_MODE_NONE, res);
 }
 
 /* tizen_keyrouter unset_keygrab request handler */
@@ -377,8 +388,12 @@ _e_keyrouter_cb_keygrab_unset(struct wl_client *client, struct wl_resource *reso
    keygrab_data.key = key;
    keygrab_data.mode = TIZEN_KEYROUTER_MODE_NONE; /* UNUSED */
 
-   INF("client: %p, surface: %p, key: %d\n", keygrab_data.client, keygrab_data.surface, keygrab_data.key);
+   INF("client: %p, surface: %p, key: %d\n", keygrab_data.client,
+       keygrab_data.surface, keygrab_data.key);
+
    _e_keyrouter_input_thread_keygrab_unset(&keygrab_data);
+
+   TRACE_INPUT_END();
 }
 
 /* tizen_keyrouter get_keygrab_status request handler */
@@ -477,20 +492,23 @@ _e_keyrouter_cb_keygrab_unset_list(struct wl_client *client, struct wl_resource
         if (res != TIZEN_KEYROUTER_ERROR_NONE)
           goto done;
 
-        res = e_keyrouter_keygrab_unset(client, surface, ungrab_request->key);
+        e_keyrouter_keygrab_unset(client, surface, ungrab_request->key);
 
 done:
         ungrab_request->err = res;
 
         if (res == TIZEN_KEYROUTER_ERROR_NONE)
           KLDBG("Success to ungrab using list: %d key (wl_client: %p, wl_surface: %p, pid: %d)",
-                ungrab_request->key, client, surface, e_keyrouter_util_get_pid(client, surface));
+                ungrab_request->key, client, surface,
+                e_keyrouter_util_get_pid(client, surface));
         else
           KLINF("Failed to ungrab using list: %d key (wl_client: %p, wl_surface: %p, pid: %d): res: %d",
-                ungrab_request->key, client, surface, e_keyrouter_util_get_pid(client, surface), ungrab_request->err);
+                ungrab_request->key, client, surface,
+                e_keyrouter_util_get_pid(client, surface), ungrab_request->err);
      }
 
    TRACE_INPUT_END();
+
    tizen_keyrouter_send_keygrab_notify_list(resource, surface, ungrab_list);
 }