Skip to content

Commit 90e2fe3

Browse files
authored
Improve save for closeAlwaysConfirmsChanges (#1055)
1 parent 33b76f4 commit 90e2fe3

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

MarkEditMac/Sources/Editor/Models/EditorDocument.swift

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -652,14 +652,21 @@ private extension EditorDocument {
652652
// Reverted or no unsaved changes
653653
performClose()
654654
} else {
655+
// Delay this for two reasons:
656+
// 1. To make it clear to users that their changes are saved
657+
// 2. To avoid leftover .sb copies when a document is closed too quickly
658+
let closeDelayed = {
659+
DispatchQueue.main.asyncAfter(deadline: .now() + 0.4, execute: performClose)
660+
}
661+
655662
// Saved
656-
document.saveContent(userInitiated: true, completion: performClose)
663+
document.saveContent(userInitiated: true, completion: closeDelayed)
657664
}
658665
}
659666
}
660667

661668
private extension DispatchQueue {
662669
func executeDelayed(_ execute: @escaping () -> Void) {
663-
asyncAfter(deadline: .now() + 0.02, execute: execute)
670+
asyncAfter(deadline: .now() + 0.05, execute: execute)
664671
}
665672
}

0 commit comments

Comments
 (0)