From dc971cee773225ca73c75536f4c23dddc27ffc65 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Wed, 17 Mar 2021 09:45:07 -0500 Subject: [PATCH] Guard against scenario when an account has been deactivated and the outline tries to index itself --- Templeton/Sources/Templeton/Outline.swift | 2 +- Templeton/Sources/Templeton/RowsFile.swift | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Templeton/Sources/Templeton/Outline.swift b/Templeton/Sources/Templeton/Outline.swift index 592af1ec..7b45d8b7 100644 --- a/Templeton/Sources/Templeton/Outline.swift +++ b/Templeton/Sources/Templeton/Outline.swift @@ -1369,7 +1369,7 @@ public final class Outline: RowContainer, OPMLImporter, Identifiable, Equatable, public func load() { guard rowsFile == nil else { return } rowsFile = RowsFile(outline: self) - rowsFile!.load() + rowsFile?.load() } public func save() { diff --git a/Templeton/Sources/Templeton/RowsFile.swift b/Templeton/Sources/Templeton/RowsFile.swift index 68b70d6f..fe02640e 100644 --- a/Templeton/Sources/Templeton/RowsFile.swift +++ b/Templeton/Sources/Templeton/RowsFile.swift @@ -25,9 +25,12 @@ final class RowsFile { save: { [weak self] in self?.saveCallback() }) private var lastModificationDate: Date? - init(outline: Outline) { + init?(outline: Outline) { + guard let account = outline.account else { + return nil + } self.outline = outline - let localAccountFolder = AccountManager.shared.accountsFolder.appendingPathComponent(outline.account!.type.folderName) + let localAccountFolder = AccountManager.shared.accountsFolder.appendingPathComponent(account.type.folderName) fileURL = localAccountFolder.appendingPathComponent("\(outline.id.documentUUID).plist") }