diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-01-28 17:31:40 -0500 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-01-28 17:31:40 -0500 |
commit | 7a0ea605e661dd68cd02e35646b36382af9a6f3b (patch) | |
tree | be1f9332813adf592bfbf52cf2e6111765487820 | |
parent | 2a51535fc01a4a6aae992aed17df87be7d647b81 (diff) | |
download | enlightenment-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.c | 8 |
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); |