From c0f47191be0265d55ceca02233caf85946831e65 Mon Sep 17 00:00:00 2001 From: redstrate Date: Mon, 14 Jun 2021 12:17:58 -0400 Subject: [PATCH] Always call handler in thumbnail and quicklook generation (#4) --- Quicklook/PreviewViewController.swift | 10 +++++++--- Thumbnail/ThumbnailProvider.swift | 10 ++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Quicklook/PreviewViewController.swift b/Quicklook/PreviewViewController.swift index 4a2595e..401f593 100644 --- a/Quicklook/PreviewViewController.swift +++ b/Quicklook/PreviewViewController.swift @@ -15,16 +15,18 @@ class PreviewViewController: NSViewController, QLPreviewingController { fc.coordinate(with: [intent], queue: .main) { (err) in if err == nil { do { + let standardError = NSError(domain: "procreate-viewer", code: 1, userInfo: nil) + guard let archive = Archive(data: try Data(contentsOf: intent.url), accessMode: Archive.AccessMode.read) else { - return + throw standardError } guard let entry = archive[ThumbnailPath] else { - return + throw standardError } guard let thumbnailData = readData(archive: archive, entry: entry) else { - return + throw standardError } self.imageView?.image = NSImage(data: thumbnailData) @@ -32,9 +34,11 @@ class PreviewViewController: NSViewController, QLPreviewingController { handler(nil) } catch { NSLog("Could not load file \(intent.url.lastPathComponent) to preview it") + handler(err) } } else { NSLog("Could not find file \(intent.url.lastPathComponent) to preview it") + handler(err) } } } diff --git a/Thumbnail/ThumbnailProvider.swift b/Thumbnail/ThumbnailProvider.swift index 1a34b1f..4db930f 100644 --- a/Thumbnail/ThumbnailProvider.swift +++ b/Thumbnail/ThumbnailProvider.swift @@ -4,17 +4,19 @@ import Cocoa class ThumbnailProvider: QLThumbnailProvider { override func provideThumbnail(for request: QLFileThumbnailRequest, _ handler: @escaping (QLThumbnailReply?, Error?) -> Void) { + let standardError = NSError(domain: "procreate-viewer", code: 1, userInfo: nil) + do { guard let archive = Archive(data: try Data(contentsOf: request.fileURL), accessMode: Archive.AccessMode.read) else { - return + throw standardError } guard let entry = archive[ThumbnailPath] else { - return + throw standardError } guard let thumbnailData = readData(archive: archive, entry: entry) else { - return + throw standardError } let image = NSImage(data: thumbnailData) @@ -51,7 +53,7 @@ class ThumbnailProvider: QLThumbnailProvider { handler(reply, nil) } catch { NSLog("Could not access file \(request.fileURL.lastPathComponent) to preview it") - handler(nil, nil) + handler(nil, standardError) } } }