diff options
author | Wataru Natsume <wnatsume@jp.adit-jv.com> | 2016-04-08 10:54:06 +0900 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.200> | 2016-04-20 13:32:23 +0000 |
commit | ddf0d5d0e83b34a38debf0b160b912fe337308e6 (patch) | |
tree | 09c3e94d1bc1c9ea36e1b0eed267e1e0327e7933 /meta-ivi-common | |
parent | 8f862ba1458f9f146606d026acc885c9d09b94f0 (diff) |
Send process ID that created surface to client.
createPid should be a pid of process that creates surface.
This patch is ported from Genivi.
Add null check of surface.
Change-Id: I28fdf7ccb1f9f95a40521aed955713bf90300c2d
Signed-off-by: Wataru Natsume <wnatsume@jp.adit-jv.com>
Diffstat (limited to 'meta-ivi-common')
2 files changed, 50 insertions, 0 deletions
diff --git a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-Send-process-ID-that-created-surface-to-client.patch b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-Send-process-ID-that-created-surface-to-client.patch new file mode 100644 index 000000000..5c29d90e2 --- /dev/null +++ b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension/0001-Send-process-ID-that-created-surface-to-client.patch @@ -0,0 +1,43 @@ +From f4adf64d979944aa80f1ba5dba4ed991b6620162 Mon Sep 17 00:00:00 2001 +From: Wataru Natsume <wnatsume@jp.adit-jv.com> +Date: Tue, 23 Feb 2016 11:14:53 +0900 +Subject: [PATCH] ivi-controller: Send process ID that created surface to + client. + +createPid should be a pid of process that creates surface. + +Signed-off-by: Wataru Natsume <wnatsume@jp.adit-jv.com> +--- + weston-ivi-shell/src/ivi-controller-impl.c | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/weston-ivi-shell/src/ivi-controller-impl.c b/weston-ivi-shell/src/ivi-controller-impl.c +index f4e29ce..57bf5cc 100644 +--- a/weston-ivi-shell/src/ivi-controller-impl.c ++++ b/weston-ivi-shell/src/ivi-controller-impl.c +@@ -603,10 +603,21 @@ controller_surface_send_stats(struct wl_client *client, + struct wl_resource *resource) + { + struct ivisurface *ivisurf = wl_resource_get_user_data(resource); ++ struct weston_surface *surface; ++ struct wl_client* target_client; + pid_t pid; + uid_t uid; + gid_t gid; +- wl_client_get_credentials(client, &pid, &uid, &gid); ++ ++ /* Get pid that created surface */ ++ surface = ivi_extension_surface_get_weston_surface(ivisurf->shell, ++ ivisurf->layout_surface); ++ if (!surface) ++ return; ++ ++ target_client = wl_resource_get_client(surface->resource); ++ ++ wl_client_get_credentials(target_client, &pid, &uid, &gid); + + ivi_controller_surface_send_stats(resource, 0, 0, + ivisurf->update_count, pid, ""); +-- +1.8.3.1 + diff --git a/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.5.0.bbappend b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.5.0.bbappend new file mode 100644 index 000000000..f68ba713d --- /dev/null +++ b/meta-ivi-common/recipes-graphics/wayland/wayland-ivi-extension_1.5.0.bbappend @@ -0,0 +1,7 @@ +FILESEXTRAPATHS_prepend := ":${THISDIR}/wayland-ivi-extension:" + + +SRC_URI_append = " \ + file://0001-Send-process-ID-that-created-surface-to-client.patch \ + " + |