e_input_backend_thread_safe_call(_e_input_thread_client_new, &ec_new_data, sizeof(E_Input_Thread_Request_EClient_Data));
}
-static void
+static Eina_Bool
_e_client_view_init(E_Client *ec)
{
E_Client_Private *priv = PRI(ec);
E_View_Tree *tree;
tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), E_CANVAS_LAYER_CLIENT_NORMAL);
- if (!tree)
- return;
+
+ assert(tree);
priv->view_client = e_view_client_create(ec, tree);
+ if (!priv->view_client)
+ return EINA_FALSE;
+
+ return EINA_TRUE;
}
E_API E_Client *
return NULL;
}
- _e_client_view_init(ec);
+ if (!_e_client_view_init(ec))
+ {
+ ERR("Failed to initialize view for ec(%p)", ec);
+ e_object_del(E_OBJECT(ec));
+ return NULL;
+ }
+
evas_object_event_callback_add(ec->frame, EVAS_CALLBACK_SHOW, _e_client_cb_evas_show, ec);
evas_object_event_callback_add(ec->frame, EVAS_CALLBACK_HIDE, _e_client_cb_evas_hide, ec);
evas_object_event_callback_add(ec->frame, EVAS_CALLBACK_MOVE, _e_client_cb_evas_move, ec);