_e_input_panel_surface_cb_toplevel_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, struct wl_resource *output_resource EINA_UNUSED, uint32_t position EINA_UNUSED)
{
E_Input_Panel_Surface *ips = wl_resource_get_user_data(resource);
- E_Input_Panel *input_panel = ips->input_panel;
+ E_Input_Panel *input_panel = NULL;
if (!ips)
{
return;
}
+ if (!(input_panel = ips->input_panel)) return;
+
input_panel->surfaces = eina_list_append(input_panel->surfaces, ips);
ips->panel = EINA_FALSE;
}
_e_input_panel_surface_cb_overlay_panel_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource)
{
E_Input_Panel_Surface *ips = wl_resource_get_user_data(resource);
- E_Input_Panel *input_panel = ips->input_panel;
+ E_Input_Panel *input_panel = NULL;
if (!ips)
{
return;
}
+ if (!(input_panel = ips->input_panel)) return;
+
input_panel->surfaces = eina_list_append(input_panel->surfaces, ips);
ips->panel = EINA_TRUE;
}
_e_input_panel_surface_resource_destroy(struct wl_resource *resource)
{
E_Input_Panel_Surface *ips = wl_resource_get_user_data(resource);
- E_Input_Panel *input_panel;
- E_Client *ec;
+ E_Input_Panel *input_panel = NULL;
+ E_Client *ec = NULL;
if (!ips)
{
int nx, ny;
int zx, zy, zw, zh;
+ if (!ec) return;
+
e_zone_useful_geometry_get(ec->zone, &zx, &zy, &zw, &zh);
nx = zx + (zw - w) / 2;
static void
_e_input_panel_surface_unmap(struct wl_resource *resource)
{
- E_Input_Panel_Surface *ips;
- E_Client *ec;
+ E_Input_Panel_Surface *ips = NULL;
+ E_Client *ec = NULL;
if (!(ips = wl_resource_get_user_data(resource)))
{
{
E_Input_Panel *input_panel = wl_resource_get_user_data(resource);
E_Pixmap *ep = wl_resource_get_user_data(surface_resource);
- E_Input_Panel_Surface *ips;
- E_Comp_Client_Data *cdata;
- E_Client *ec;
+ E_Input_Panel_Surface *ips = NULL;
+ E_Comp_Client_Data *cdata = NULL;
+ E_Client *ec = NULL;
if (!input_panel)
{
if (!input_panel) return;
resource = wl_resource_create(client, &wl_input_panel_interface, 1, id);
+ if (!resource) return;
if (input_panel->resource == NULL)
{
{
if (!cdata) return EINA_FALSE;
- if (!(g_input_panel= E_NEW(E_Input_Panel, 1)))
+ if (!(g_input_panel = E_NEW(E_Input_Panel, 1)))
{
// ERR("Failed to allocate space for E_Input_Panel");
return EINA_FALSE;
static void
_e_text_input_cb_activate(struct wl_client *client, struct wl_resource *resource, struct wl_resource *seat, struct wl_resource *surface)
{
- E_Text_Input *text_input;
- E_Input_Method *input_method;
- E_Text_Input *old;
- E_Input_Method_Context *context;
+ E_Text_Input *text_input = NULL;
+ E_Input_Method *input_method = NULL;
+ E_Text_Input *old = NULL;
+ E_Input_Method_Context *context = NULL;
EINA_SAFETY_ON_NULL_GOTO(resource, err);
EINA_SAFETY_ON_NULL_GOTO(seat, err);
{
E_Text_Input *text_input = wl_resource_get_user_data(resource);
E_Comp_Data *cdata = wl_resource_get_user_data(seat);
- E_Input_Method *input_method;
+ E_Input_Method *input_method = NULL;
if (!text_input)
{
}
// FIXME: should get input_method object from seat.
- if (!(input_method = wl_resource_get_user_data(g_input_method->resource)))
+ if (g_input_method && g_input_method->resource)
+ input_method = wl_resource_get_user_data(g_input_method->resource);
+
+ if (!input_method)
{
wl_resource_post_error(seat,
WL_DISPLAY_ERROR_INVALID_OBJECT,
_e_text_input_cb_input_panel_show(struct wl_client *client EINA_UNUSED, struct wl_resource *resource)
{
E_Text_Input *text_input = wl_resource_get_user_data(resource);
- E_Input_Method *input_method;
- Eina_List *l;
+ E_Input_Method *input_method = NULL;
+ Eina_List *l = NULL;
if (!text_input)
{
_e_text_input_cb_input_panel_hide(struct wl_client *client EINA_UNUSED, struct wl_resource *resource)
{
E_Text_Input *text_input = wl_resource_get_user_data(resource);
- E_Input_Method *input_method;
- Eina_List *l;
+ E_Input_Method *input_method = NULL;
+ Eina_List *l = NULL;
if (!text_input)
{
EINA_LIST_FOREACH(text_input->input_methods, l, input_method)
{
- if (input_method->model == text_input)
+ if (input_method && (input_method->model == text_input))
e_input_panel_visibility_change(EINA_FALSE);
}
}
_e_text_input_cb_reset(struct wl_client *client EINA_UNUSED, struct wl_resource *resource)
{
E_Text_Input *text_input = wl_resource_get_user_data(resource);
- E_Input_Method *input_method;
- Eina_List *l;
+ E_Input_Method *input_method = NULL;
+ Eina_List *l = NULL;
if (!text_input)
{
EINA_LIST_FOREACH(text_input->input_methods, l, input_method)
{
- if (!input_method->context) continue;
+ if (!input_method || !input_method->context) continue;
if (input_method->context->resource)
wl_input_method_context_send_reset(input_method->context->resource);
}
_e_text_input_cb_surrounding_text_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, const char *text, uint32_t cursor, uint32_t anchor)
{
E_Text_Input *text_input = wl_resource_get_user_data(resource);
- E_Input_Method *input_method;
- Eina_List *l;
+ E_Input_Method *input_method = NULL;
+ Eina_List *l = NULL;
if (!text_input)
{
EINA_LIST_FOREACH(text_input->input_methods, l, input_method)
{
- if (!input_method->context) continue;
+ if (!input_method || !input_method->context) continue;
if (input_method->context->resource)
wl_input_method_context_send_surrounding_text(input_method->context->resource,
text, cursor, anchor);
_e_text_input_cb_content_type_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t hint, uint32_t purpose)
{
E_Text_Input *text_input = wl_resource_get_user_data(resource);
- E_Input_Method *input_method;
- Eina_List *l;
+ E_Input_Method *input_method = NULL;
+ Eina_List *l = NULL;
if (!text_input)
{
EINA_LIST_FOREACH(text_input->input_methods, l, input_method)
{
- if (!input_method->context) continue;
+ if (!input_method || !input_method->context) continue;
if (input_method->context->resource)
wl_input_method_context_send_content_type(input_method->context->resource,
_e_text_input_cb_preferred_language_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, const char *language)
{
E_Text_Input *text_input = wl_resource_get_user_data(resource);
- E_Input_Method *input_method;
- Eina_List *l;
+ E_Input_Method *input_method = NULL;
+ Eina_List *l = NULL;
if (!text_input)
{
EINA_LIST_FOREACH(text_input->input_methods, l, input_method)
{
- if (!input_method->context) continue;
+ if (!input_method || !input_method->context) continue;
if (input_method->context->resource)
wl_input_method_context_send_preferred_language(input_method->context->resource,
_e_text_input_cb_state_commit(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial)
{
E_Text_Input *text_input = wl_resource_get_user_data(resource);
- E_Input_Method *input_method;
- Eina_List *l;
+ E_Input_Method *input_method = NULL;
+ Eina_List *l = NULL;
if (!text_input)
{
EINA_LIST_FOREACH(text_input->input_methods, l, input_method)
{
- if (!input_method->context) continue;
+ if (!input_method || !input_method->context) continue;
if (input_method->context->resource)
wl_input_method_context_send_commit_state(input_method->context->resource, serial);
_e_text_input_cb_action_invoke(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t button, uint32_t index)
{
E_Text_Input *text_input = wl_resource_get_user_data(resource);
- E_Input_Method *input_method;
- Eina_List *l;
+ E_Input_Method *input_method = NULL;
+ Eina_List *l = NULL;
if (!text_input)
{
EINA_LIST_FOREACH(text_input->input_methods, l, input_method)
{
- if (!input_method->context) continue;
+ if (!input_method || !input_method->context) continue;
if (input_method->context->resource)
wl_input_method_context_send_invoke_action(input_method->context->resource,
_e_text_input_cb_destroy(struct wl_resource *resource)
{
E_Text_Input *text_input = wl_resource_get_user_data(resource);
- E_Input_Method *input_method;
+ E_Input_Method *input_method = NULL;
if (!text_input)
{
_e_text_input_manager_cb_text_input_create(struct wl_client *client, struct wl_resource *resource, uint32_t id)
{
E_Text_Input_Mgr *text_input_mgr = wl_resource_get_user_data(resource);
- E_Text_Input *text_input;
+ E_Text_Input *text_input = NULL;
if (!text_input_mgr)
{
_e_text_cb_bind_input_method(struct wl_client *client, void *data, uint32_t version EINA_UNUSED, uint32_t id)
{
E_Input_Method *input_method = data;
- struct wl_resource *resource;
+ struct wl_resource *resource = NULL;
if (!input_method) return;
_e_text_input_manager_destroy(void *data)
{
E_Text_Input_Mgr *text_input_mgr = data;
+ if (!text_input_mgr) return;
wl_global_destroy(text_input_mgr->global);
free(text_input_mgr);
EAPI void *
e_modapi_init(E_Module *m)
{
- E_Comp_Data *cdata;
+ E_Comp_Data *cdata = NULL;
if (!e_comp) return NULL;