summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2015-01-28 17:31:40 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2015-01-28 17:31:40 -0500
commit7a0ea605e661dd68cd02e35646b36382af9a6f3b (patch)
treebe1f9332813adf592bfbf52cf2e6111765487820
parent2a51535fc01a4a6aae992aed17df87be7d647b81 (diff)
downloadenlightenment-7a0ea605e661dd68cd02e35646b36382af9a6f3b.tar.gz
move wl pixmap creation back to comp
after further consideration, this seems much simpler
-rw-r--r--src/bin/e_comp_wl.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 10e40cfc53..00282faf49 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1174,6 +1174,8 @@ _e_comp_wl_compositor_cb_surface_create(struct wl_client *client, struct wl_reso
E_Comp *comp;
struct wl_resource *res;
E_Pixmap *ep;
+ uint64_t win;
+ pid_t pid;
if (!(comp = wl_resource_get_user_data(resource))) return;
@@ -1194,11 +1196,13 @@ _e_comp_wl_compositor_cb_surface_create(struct wl_client *client, struct wl_reso
wl_resource_set_implementation(res, &_e_surface_interface, NULL,
_e_comp_wl_surface_destroy);
+ wl_client_get_credentials(client, &pid, NULL, NULL);
+ win = ((uint64_t)id << 32) + pid;
/* check for existing pixmap */
- if (!(ep = e_pixmap_find(E_PIXMAP_TYPE_WL, id)))
+ if (!(ep = e_pixmap_find(E_PIXMAP_TYPE_WL, win)))
{
/* try to create new pixmap */
- if (!(ep = e_pixmap_new(E_PIXMAP_TYPE_WL, id)))
+ if (!(ep = e_pixmap_new(E_PIXMAP_TYPE_WL, win)))
{
ERR("Could not create new pixmap");
wl_resource_destroy(res);