/* find the client for this pixmap */
ec = e_pixmap_client_get(ep);
- if (ec) e_pixmap_ref(ec->pixmap);
- if (!(ec = e_client_new(NULL, ep, 0, 0)))
+ if (ec && (!ec->internal))
+ e_pixmap_ref(ec->pixmap);
+ if ((!ec) && (!ec->internal) && (!(ec = e_client_new(NULL, ep, 0, 0))))
{
wl_resource_post_error(surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
/* find the client for this pixmap */
ec = e_pixmap_client_get(ep);
- if (ec) e_pixmap_ref(ec->pixmap);
- if (!(ec = e_client_new(NULL, ep, 0, 0)))
+ if (ec && (!ec->internal))
+ e_pixmap_ref(ec->pixmap);
+ if ((!ec) && (!ec->internal) && (!(ec = e_client_new(NULL, ep, 0, 0))))
{
wl_resource_post_error(surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
/* find the client for this pixmap */
ec = e_pixmap_client_get(ep);
- if (ec) e_pixmap_ref(ec->pixmap);
- if (!(ec = e_client_new(NULL, ep, 0, 0)))
+ if (ec && (!ec->internal))
+ e_pixmap_ref(ec->pixmap);
+ if ((!ec) && (!ec->internal) && (!(ec = e_client_new(NULL, ep, 0, 0))))
{
wl_resource_post_error(surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,