diff --git a/apps/files_sharing/lib/Listener/SharesUpdatedListener.php b/apps/files_sharing/lib/Listener/SharesUpdatedListener.php index 9e66f142408..f1a1d625a6c 100644 --- a/apps/files_sharing/lib/Listener/SharesUpdatedListener.php +++ b/apps/files_sharing/lib/Listener/SharesUpdatedListener.php @@ -61,7 +61,7 @@ class SharesUpdatedListener implements IEventListener { public function handle(Event $event): void { // don't trigger the on-setup checks if this handler triggers an fs setup - $this->homeSetupListener->setDisabled(true); + $oldState = $this->homeSetupListener->setDisabled(true); if ($event instanceof UserShareAccessUpdatedEvent) { foreach ($event->getUsers() as $user) { @@ -111,7 +111,7 @@ class SharesUpdatedListener implements IEventListener { } } - $this->homeSetupListener->setDisabled(false); + $this->homeSetupListener->setDisabled($oldState); } private function markOrRun(IUser $user, callable $callback): void { diff --git a/apps/files_sharing/lib/Listener/UserHomeSetupListener.php b/apps/files_sharing/lib/Listener/UserHomeSetupListener.php index b057a3d082d..7f95605b3b6 100644 --- a/apps/files_sharing/lib/Listener/UserHomeSetupListener.php +++ b/apps/files_sharing/lib/Listener/UserHomeSetupListener.php @@ -30,8 +30,10 @@ class UserHomeSetupListener implements IEventListener { ) { } - public function setDisabled(bool $disabled): void { + public function setDisabled(bool $disabled): bool { + $previous = $this->disabled; $this->disabled = $disabled; + return $previous; } public function handle(Event $event): void { if (!$event instanceof UserHomeSetupEvent) {