summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWim Taymans <wtaymans@redhat.com>2018-12-12 15:47:01 +0100
committerWim Taymans <wtaymans@redhat.com>2018-12-12 15:47:01 +0100
commit73aac68908c2c9f1dda2aab20bc4044fb0367782 (patch)
treece6bb2f2a27cac36aeb3ce3201ea8583dee9eb68 /src
parent39078f2abcec18a8906e31b1caa969b15d2ddb74 (diff)
flatpak: only update permissions on sandboxed clients
Diffstat (limited to 'src')
-rw-r--r--src/modules/module-flatpak.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/modules/module-flatpak.c b/src/modules/module-flatpak.c
index 189585d4..ab32a227 100644
--- a/src/modules/module-flatpak.c
+++ b/src/modules/module-flatpak.c
@@ -61,6 +61,7 @@ struct client_info {
struct spa_list async_pending;
bool checked;
bool camera_allowed;
+ bool sandboxed;
};
struct async_pending {
@@ -434,6 +435,7 @@ core_global_added(void *data, struct pw_global *global)
pw_log_debug("module %p: non sandboxed client %p", impl, client);
return;
}
+ cinfo->sandboxed = true;
if (res < 0) {
pw_log_warn("module %p: client %p sandbox check failed: %s",
@@ -446,8 +448,10 @@ core_global_added(void *data, struct pw_global *global)
do_portal_check(cinfo);
}
else {
- spa_list_for_each(cinfo, &impl->client_list, link)
- set_global_permissions(cinfo, global);
+ spa_list_for_each(cinfo, &impl->client_list, link) {
+ if (cinfo->sandboxed)
+ set_global_permissions(cinfo, global);
+ }
}
}