static E_Subsurface *_e_subsurface_try_from_resource(struct wl_resource *resource);
static E_Subsurface *_e_subsurface_try_from_ds_subsurface(struct ds_subsurface *ds_subsurface);
static void _e_subsurface_destroy(E_Subsurface *sub);
-static void _e_subsurface_commit(E_Subsurface *sub);
static void _e_subsurface_place_below_parent(E_Subsurface *sub);
static Eina_Bool _e_subsurface_synchronized_check(E_Subsurface *sub);
static void _e_subsurface_cb_destroy(struct wl_listener *listener, void *data);
e_comp_wl_subsurface_commit(E_Client *ec)
{
E_Surface *surface;
- E_Subsurface *sub;
EINA_SAFETY_ON_NULL_RETURN_VAL(ec, EINA_FALSE);
- if (e_object_is_del(E_OBJECT(ec)) || !ec->comp_data) return EINA_FALSE;
+ surface = e_surface_try_from_ec(ec);
+ if (!surface)
+ return EINA_FALSE;
- surface = e_surface_from_ec(ec);
- sub = _e_subsurface_try_from_surface(surface);
- if (!sub)
+ if (!_e_subsurface_try_from_surface(surface))
return EINA_FALSE;
- _e_subsurface_commit(sub);
+ e_comp_wl_surface_commit(ec);
return EINA_TRUE;
}
return EINA_FALSE;
}
-static void
-_e_subsurface_commit(E_Subsurface *sub)
-{
- e_comp_wl_surface_commit(sub->surface->ec);
-
- if (_e_subsurface_synchronized_check(sub))
- {
- e_comp_wl_hook_call(E_COMP_WL_HOOK_SUBSURFACE_SYNCHRONIZED_COMMIT,
- sub->surface->ec);
- }
-}
-
static void
_e_subsurface_place_below_parent(E_Subsurface *sub)
{