Continue fixing concurrency warnings.

This commit is contained in:
Brent Simmons
2024-03-19 23:05:30 -07:00
parent 6ab10e871c
commit d0760f3d12
64 changed files with 444 additions and 459 deletions

View File

@@ -92,7 +92,7 @@ extension AppDelegate : AppDelegateAppleEvents {
}
class NetNewsWireCreateElementCommand : NSCreateCommand {
override func performDefaultImplementation() -> Any? {
@MainActor override func performDefaultImplementation() -> Any? {
let classDescription = self.createClassDescription
if (classDescription.className == "feed") {
return ScriptableFeed.handleCreateElement(command:self)

View File

@@ -111,7 +111,9 @@ class ScriptableArticle: NSObject, UniqueIdScriptingObject, ScriptingObjectConta
return article.status.boolStatus(forKey:.read)
}
set {
markArticles([self.article], statusKey: .read, flag: newValue)
Task { @MainActor in
markArticles([self.article], statusKey: .read, flag: newValue)
}
}
}
@@ -121,7 +123,9 @@ class ScriptableArticle: NSObject, UniqueIdScriptingObject, ScriptingObjectConta
return article.status.boolStatus(forKey:.starred)
}
set {
markArticles([self.article], statusKey: .starred, flag: newValue)
Task { @MainActor in
markArticles([self.article], statusKey: .starred, flag: newValue)
}
}
}
@@ -142,7 +146,7 @@ class ScriptableArticle: NSObject, UniqueIdScriptingObject, ScriptingObjectConta
}
@objc(feed)
var feed: ScriptableFeed? {
@MainActor var feed: ScriptableFeed? {
guard let parentFeed = self.article.feed,
let account = parentFeed.account
else { return nil }

View File

@@ -81,7 +81,7 @@ import Articles
}
}
class func handleCreateElement(command:NSCreateCommand) -> Any? {
@MainActor class func handleCreateElement(command:NSCreateCommand) -> Any? {
guard command.isCreateCommand(forClass:"Feed") else { return nil }
guard let arguments = command.arguments else {return nil}
let titleFromArgs = command.property(forKey:"name") as? String

View File

@@ -65,7 +65,7 @@ class ScriptableFolder: NSObject, UniqueIdScriptingObject, ScriptingObjectContai
or
tell account X to make new folder at end with properties {name:"new folder name"}
*/
class func handleCreateElement(command:NSCreateCommand) -> Any? {
@MainActor class func handleCreateElement(command:NSCreateCommand) -> Any? {
guard command.isCreateCommand(forClass:"fold") else { return nil }
let name = command.property(forKey:"name") as? String ?? ""

View File

@@ -26,7 +26,7 @@ extension NSScriptCommand {
return true
}
func accountAndFolderForNewChild() -> (Account, Folder?) {
@MainActor func accountAndFolderForNewChild() -> (Account, Folder?) {
let appleEvent = self.appleEvent
var account = AccountManager.shared.defaultAccount
var folder:Folder? = nil