From d342c764f2f45ec6bcd026482fc4c8f2242cb132 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 14 Mar 2022 15:08:24 +0100 Subject: don't double setup provider when calling `setupForUser` after `setupForPath` Signed-off-by: Robin Appelman --- lib/private/Files/SetupManager.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/private/Files/SetupManager.php') diff --git a/lib/private/Files/SetupManager.php b/lib/private/Files/SetupManager.php index 7e091da0e01..e83b7448414 100644 --- a/lib/private/Files/SetupManager.php +++ b/lib/private/Files/SetupManager.php @@ -204,8 +204,14 @@ class SetupManager { } $this->setupUsersComplete[] = $user->getUID(); + if (!isset($this->setupUserMountProviders[$user->getUID()])) { + $this->setupUserMountProviders[$user->getUID()] = []; + } + $this->setupForUserWith($user, function () use ($user) { - $this->mountProviderCollection->addMountForUser($user, $this->mountManager); + $this->mountProviderCollection->addMountForUser($user, $this->mountManager, function (IMountProvider $provider) use ($user) { + return !in_array(get_class($provider), $this->setupUserMountProviders[$user->getUID()]); + }); }); $this->userFullySetup($user); } -- cgit v1.2.3