}
else if (view->type == E_VIEW_TYPE_CLIENT)
{
- view_client = e_view_client_from_view(view);
+ view_client = e_view_client_try_from_view(view);
if (e_view_client_is_input_acceptable(view_client, x, y))
return view_client;
}
static void
_view_client_handle_destroy(E_View *view)
{
- E_View_Client *client = e_view_client_from_view(view);
+ E_View_Client *client = e_view_client_try_from_view(view);
E_View_Client_Mirror *mirror, *mirror_tmp;
evas_object_event_callback_del(client->view.eo, EVAS_CALLBACK_RESIZE, _view_client_evas_object_cb_resize);
return client;
}
-EINTERN E_View_Client *
-e_view_client_from_view(E_View *view)
+E_API E_View_Client *
+e_view_client_try_from_view(E_View *view)
{
E_View_Client *client;
- assert(view->impl == (E_View_Impl*)&view_client_impl);
+ if(view->impl != (E_View_Impl*)&view_client_impl)
+ return NULL;
+
return wl_container_of(view, client, view);
}
#include "e_view_edje_intern.h"
E_View_Client *e_view_client_create(E_Client *ec, E_View_Tree *parent);
-E_View_Client *e_view_client_from_view(E_View *view);
void e_view_client_render_update_del(E_View_Client *view_client);
bool e_view_client_alpha_get(E_View_Client *client);
bool e_view_client_color_visible_get(E_View_Client *client);
MAX((li->h * li->layout->h) / li->layout->vh, 1));
#ifndef E_VIEW_TEST
else if (li->view->type == E_VIEW_TYPE_CLIENT)
- e_view_client_size_set(e_view_client_from_view(li->view),
+ e_view_client_size_set(e_view_client_try_from_view(li->view),
MAX((li->w * li->layout->w) / li->layout->vw, 1),
MAX((li->h * li->layout->h) / li->layout->vh, 1));
else if (li->view->type == E_VIEW_TYPE_EDJE)
typedef _E_View_Client_Signal_Cb E_View_Client_Signal_Cb;
E_View *e_view_client_view_get(E_View_Client *client);
+E_View_Client *e_view_client_try_from_view(E_View *view);
bool e_view_client_external_view_image_set(E_View_Client *client, E_View_Image *view_image);
bool e_view_client_external_view_edje_set(E_View_Client *client, E_View_Edje *view_edje);