E_View_Tree_Impl view_client_tree_impl;
static void _view_client_handle_destroy(E_View *view);
-static void _view_client_effect_handle_destroy(E_View *view);
-
static const E_View_Impl view_client_impl = {
.destroy = _view_client_handle_destroy,
};
-static const E_View_Impl view_client_effect_impl = {
- .destroy = _view_client_effect_handle_destroy,
-};
-
typedef struct _E_View_Client_Effect
{
E_View_Client *client;
}
}
- if (client->effect)
- e_view_destroy(client->effect);
-
- E_FREE(client);
-}
-
-static void
-_view_client_effect_handle_destroy(E_View *view)
-{
- E_View_Client *client;
-
- assert(view->impl == (E_View_Impl*)&view_client_effect_impl);
- client = wl_container_of(view, client, effect);
-
if (client->effect)
{
- evas_object_del(view->eo);
+ e_view_destroy(client->effect);
E_FREE(client->effect);
}
+
+ E_FREE(client);
}
static void
if (effect->eo == eo)
return effect;
e_view_destroy(effect);
+ E_FREE(effect);
}
effect = E_NEW(E_View, 1);
if (!effect) return NULL;
- e_view_init(effect, E_VIEW_TYPE_EDJE, (E_View_Impl *)&view_client_effect_impl, eo, client->view.parent);
+ e_view_init(effect, E_VIEW_TYPE_EDJE, NULL, eo, client->view.parent);
client->effect = effect;
return effect;