Reduce duplicate code to checkout input method context 19/276819/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 27 Jun 2022 03:00:07 +0000 (12:00 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Mon, 27 Jun 2022 03:00:07 +0000 (12:00 +0900)
Change-Id: I18b241976797b0c248bbcde3070644cd77098b10
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/e_mod_main.c

index de68333037af330b89e318f82106f2bc1341beb4..724602d35a9c17474a897879a944760fd6bbc487 100644 (file)
@@ -518,14 +518,7 @@ static void
 _e_text_input_method_context_cb_string_commit(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, const char *text)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_commit_string(context->input->resource,
@@ -536,14 +529,7 @@ static void
 _e_text_input_method_context_cb_preedit_string(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, const char *text, const char *commit)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_preedit_string(context->input->resource,
@@ -554,14 +540,7 @@ static void
 _e_text_input_method_context_cb_recapture_string(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, int32_t index, uint32_t length, const char *preedit, const char *preedit_commit, const char *commit)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_recapture_string(context->input->resource,
@@ -572,14 +551,7 @@ static void
 _e_text_input_method_context_cb_preedit_styling(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t index, uint32_t length, uint32_t style)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_preedit_styling(context->input->resource,
@@ -590,14 +562,7 @@ static void
 _e_text_input_method_context_cb_preedit_cursor(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, int32_t cursor)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_preedit_cursor(context->input->resource,
@@ -608,14 +573,7 @@ static void
 _e_text_input_method_context_cb_surrounding_text_delete(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, int32_t index, uint32_t length)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_delete_surrounding_text(context->input->resource,
@@ -626,14 +584,7 @@ static void
 _e_text_input_method_context_cb_cursor_position(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, int32_t index, int32_t anchor)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_cursor_position(context->input->resource,
@@ -644,14 +595,7 @@ static void
 _e_text_input_method_context_cb_modifiers_map(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, struct wl_array *map)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_modifiers_map(context->input->resource, map);
@@ -699,14 +643,7 @@ static void
 _e_text_input_method_context_cb_keysym(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, uint32_t time, uint32_t sym, uint32_t state, uint32_t modifiers)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      {
@@ -758,14 +695,7 @@ static void
 _e_text_input_method_context_keyboard_grab_cb_keyboard_unbind(struct wl_resource *resource)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    _e_text_input_method_context_grab_set(context, EINA_FALSE);
 
@@ -781,13 +711,7 @@ _e_text_input_method_context_cb_keyboard_grab(struct wl_client *client, struct w
    E_Input_Method_Context *context  = wl_resource_get_user_data(resource);
    struct wl_resource *keyboard = NULL;
 
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    keyboard = wl_resource_create(client, &wl_keyboard_interface, 1, id);
    if (!keyboard)
@@ -839,14 +763,7 @@ static void
 _e_text_input_method_context_cb_language(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, const char *language)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_language(context->input->resource,
@@ -857,14 +774,7 @@ static void
 _e_text_input_method_context_cb_text_direction(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, uint32_t direction)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_text_direction(context->input->resource,
@@ -875,14 +785,7 @@ static void
 _e_text_input_method_context_cb_selection_region(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, int32_t start, int32_t end)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_selection_region(context->input->resource,
@@ -893,14 +796,7 @@ static void
 _e_text_input_method_context_cb_private_command(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, const char *command)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_private_command(context->input->resource,
@@ -911,14 +807,7 @@ static void
 _e_text_input_method_context_cb_commit_content(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, const char *content, const char *description, const char *mime_types)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_commit_content(context->input->resource,
@@ -929,14 +818,7 @@ static void
 _e_text_input_method_context_cb_input_panel_event(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, uint32_t event_type, uint32_t value)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_input_panel_event(context->input->resource,
@@ -946,15 +828,8 @@ _e_text_input_method_context_cb_input_panel_event(struct wl_client *client EINA_
 static void
 _e_text_input_method_context_cb_update_candidate_state(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t state)
 {
-    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-    if (!context)
-      {
-         WTI_WARNING(resource,
-                     WL_DISPLAY_ERROR_INVALID_OBJECT,
-                     "No Input Method Context For Resource");
-         return;
-      }
+   E_Input_Method_Context *context = wl_resource_get_user_data(resource);
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
     LOGI("Candidate State : %d", state);
     Eina_Bool prev_show_state = g_show_state_candidate;
@@ -980,14 +855,7 @@ static void
 _e_text_input_method_context_cb_input_panel_data_update(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, const char *data, uint32_t length)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_input_panel_data(context->input->resource,
@@ -1017,15 +885,10 @@ static void
 _e_text_input_method_context_cb_get_selection_text(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, int32_t fd)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
    if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        close (fd);
-        return;
-     }
+     close(fd);
+
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_get_selection_text(context->input->resource, fd);
@@ -1038,15 +901,10 @@ _e_text_input_method_context_cb_get_surrounding_text(struct wl_client *client EI
                                                      uint32_t maxlen_before, uint32_t maxlen_after, int32_t fd)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
    if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        close (fd);
-        return;
-     }
+     close(fd);
+
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
    if ((context->input) && (context->input->resource))
      wl_text_input_send_get_surrounding_text(context->input->resource, maxlen_before, maxlen_after, fd);
@@ -1059,14 +917,7 @@ _e_text_input_method_context_cb_filter_key_event_done(struct wl_client *client E
                                                       uint32_t serial, uint32_t state)
 {
     E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-    if (!context)
-      {
-         WTI_WARNING(resource,
-                     WL_DISPLAY_ERROR_INVALID_OBJECT,
-                     "No Input Method Context For Resource");
-         return;
-      }
+    EINA_SAFETY_ON_NULL_RETURN(context);
 
     if ((context->input) && (context->input->resource))
       wl_text_input_send_filter_key_event_done(context->input->resource,
@@ -1078,14 +929,7 @@ _e_text_input_method_context_cb_update_ise_geometry(struct wl_client *client EIN
                                                       uint32_t serial, uint32_t x, uint32_t y, uint32_t width, uint32_t height)
 {
     E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-    if (!context)
-      {
-         WTI_WARNING(resource,
-                     WL_DISPLAY_ERROR_INVALID_OBJECT,
-                     "No Input Method Context For Resource");
-         return;
-      }
+    EINA_SAFETY_ON_NULL_RETURN(context);
 
     if ((context->input) && (context->input->resource) && !(e_input_panel_floating_mode_get()))
       {
@@ -1149,14 +993,7 @@ static void
 _e_text_input_method_context_cb_resource_destroy(struct wl_resource *resource)
 {
    E_Input_Method_Context *context = wl_resource_get_user_data(resource);
-
-   if (!context)
-     {
-        WTI_WARNING(resource,
-                    WL_DISPLAY_ERROR_INVALID_OBJECT,
-                    "No Input Method Context For Resource");
-        return;
-     }
+   EINA_SAFETY_ON_NULL_RETURN(context);
 
 #if ENABLE_GRAB_KEYBOARD
    if (context->kbd.resource)