From 810fa8d1cef6c1413b42f84d077e27975ae2232e Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Mon, 13 Mar 2023 16:29:12 +0100 Subject: [PATCH] Handle situations where we might not get a manager for our desired domain in fileproviderdomainmanager Signed-off-by: Claudio Cambra --- src/gui/macOS/fileproviderdomainmanager_mac.mm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/gui/macOS/fileproviderdomainmanager_mac.mm b/src/gui/macOS/fileproviderdomainmanager_mac.mm index 4ee11b74d..c79503e9d 100644 --- a/src/gui/macOS/fileproviderdomainmanager_mac.mm +++ b/src/gui/macOS/fileproviderdomainmanager_mac.mm @@ -296,7 +296,13 @@ class FileProviderDomainManager::Private { } NSFileProviderDomain * const fileProviderDomain = _registeredDomains[domainId]; + Q_ASSERT(fileProviderDomain != nil); + NSFileProviderManager * const fpManager = [NSFileProviderManager managerForDomain:fileProviderDomain]; + if (fpManager == nil) { + readdFileProviderDomain(fileProviderDomain); + return; + } [fpManager disconnectWithReason:message.toNSString() options:NSFileProviderManagerDisconnectionOptionsTemporary @@ -329,7 +335,13 @@ class FileProviderDomainManager::Private { } NSFileProviderDomain * const fileProviderDomain = _registeredDomains[domainId]; + Q_ASSERT(fileProviderDomain != nil); + NSFileProviderManager * const fpManager = [NSFileProviderManager managerForDomain:fileProviderDomain]; + if (fpManager == nil) { + readdFileProviderDomain(fileProviderDomain); + return; + } [fpManager reconnectWithCompletionHandler:^(NSError * const error) { if (error) { @@ -361,6 +373,11 @@ class FileProviderDomainManager::Private { Q_ASSERT(fileProviderDomain != nil); NSFileProviderManager * const fpManager = [NSFileProviderManager managerForDomain:fileProviderDomain]; + if (fpManager == nil) { + readdFileProviderDomain(fileProviderDomain); + return; + } + [fpManager signalEnumeratorForContainerItemIdentifier:NSFileProviderWorkingSetContainerItemIdentifier completionHandler:^(NSError * const error) { if (error != nil) { qCDebug(lcMacFileProviderDomainManager) << "Error signalling enumerator changed for working set:" -- 2.30.2