diff --git a/src/pipewire/global.c b/src/pipewire/global.c index c963965e7..00258ff88 100644 --- a/src/pipewire/global.c +++ b/src/pipewire/global.c @@ -38,15 +38,9 @@ uint32_t pw_global_get_permissions(struct pw_global *global, struct pw_client *c { uint32_t perms = PW_PERM_RWX; - if (client->permission_func == NULL) - return perms; - - perms = client->permission_func(global, client, client->permission_data); - - while (global != global->parent) { - global = global->parent; + if (client->permission_func != NULL) perms &= client->permission_func(global, client, client->permission_data); - } + return perms; }