static void
_e_pixmap_id_setup(E_Pixmap *cp, uintptr_t id)
{
+ struct wl_resource *surface_resource;
+
cp->win = id;
eina_hash_add(pixmaps[cp->type], &id, cp);
if (cp->type == E_PIXMAP_TYPE_WL)
{
+ surface_resource = (struct wl_resource *)id;
+
+ if (cp->cdata)
+ cp->cdata->wl_surface = surface_resource;
+
cp->surface_resource_destroy.notify = _e_pixmap_cb_surface_resource_destroy;
- wl_resource_add_destroy_listener((struct wl_resource *)id, &cp->surface_resource_destroy);
+ wl_resource_add_destroy_listener(surface_resource, &cp->surface_resource_destroy);
}
else
{
return;
}
- E_Comp_Wl_Client_Data *cdata = e_pixmap_cdata_get(ep);
- if (cdata)
- cdata->wl_surface = surface_resource;
-
DBG("\tUsing Pixmap: %p", ep);
wl_client_get_credentials(wl_resource_get_client(surface_resource), &pid, NULL, NULL);