summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-07-14 18:44:23 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-07-14 18:40:50 -0400
commitad56e78872e76b1057bc0f33571648a2e1029582 (patch)
tree17a2934a72d2773603efd11e5d037c02163a0c91
parentcce14fa8399afd3f8e244a2fb216ae4e5d50b942 (diff)
downloadenlightenment-ad56e78872e76b1057bc0f33571648a2e1029582.tar.gz
only store the compositor's own data manager resource to e_comp_wl->mgr.resource
-rw-r--r--src/bin/e_comp_wl_data.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c
index ff01201396..57bc6f6757 100644
--- a/src/bin/e_comp_wl_data.c
+++ b/src/bin/e_comp_wl_data.c
@@ -772,16 +772,19 @@ static void
_e_comp_wl_data_cb_bind_manager(struct wl_client *client, void *data EINA_UNUSED, uint32_t version EINA_UNUSED, uint32_t id)
{
struct wl_resource *res;
+ pid_t pid;
/* try to create data manager resource */
- e_comp_wl->mgr.resource = res =
- wl_resource_create(client, &wl_data_device_manager_interface, 3, id);
+ res = wl_resource_create(client, &wl_data_device_manager_interface, 3, id);
if (!res)
{
ERR("Could not create data device manager");
wl_client_post_no_memory(client);
return;
}
+ wl_client_get_credentials(client, &pid, NULL, NULL);
+ if (pid == getpid())
+ e_comp_wl->mgr.resource = res;
wl_resource_set_implementation(res, &_e_manager_interface,
e_comp->wl_comp_data, NULL);