Revision: 15541
http://sourceforge.net/p/skim-app/code/15541
Author: hofman
Date: 2025-06-24 14:44:50 +0000 (Tue, 24 Jun 2025)
Log Message:
-----------
consider three cases after for delayed termination
Modified Paths:
--------------
trunk/SKApplicationController.m
Modified: trunk/SKApplicationController.m
===================================================================
--- trunk/SKApplicationController.m 2025-06-24 14:24:42 UTC (rev 15540)
+++ trunk/SKApplicationController.m 2025-06-24 14:44:50 UTC (rev 15541)
@@ -299,17 +299,18 @@
}
- (void)applicationStartsTerminating:(NSNotification *)aNotification {
- [currentDocumentsTimer invalidate];
- currentDocumentsTimer = nil;
- NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
- [nc removeObserver:self name:SKDocumentDidShowNotification object:nil];
- [nc removeObserver:self
name:SKDocumentControllerDidRemoveDocumentNotification object:nil];
- [self registerCurrentDocuments:nil];
+ if (currentDocumentsTimer == nil) {
+ [currentDocumentsTimer invalidate];
+ currentDocumentsTimer = nil;
+ NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
+ [nc removeObserver:self name:SKDocumentDidShowNotification object:nil];
+ [nc removeObserver:self
name:SKDocumentControllerDidRemoveDocumentNotification object:nil];
+ [self registerCurrentDocuments:nil];
+ }
}
- (void)applicationDocumentControllerCanceledTerminate:(NSApplication
*)application {
- if (currentDocumentsTimer == nil)
- [self registerForCurrentDocumentsNotifications];
+ [self registerForCurrentDocumentsNotifications];
}
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication
*)application {
@@ -320,14 +321,14 @@
break;
} else {
DISPATCH_MAIN_AFTER_SEC(0.51, ^{
- if ([doc interactionMode] == SKPresentationMode && [doc
canExitPresentation] == NO) {
+ if ([doc interactionMode] != SKPresentationMode) {
+ [NSApp replyToApplicationShouldTerminate:YES];
+ } else if ([doc canExitPresentation]) {
+ [doc setInteractionMode:SKNormalMode];
+ [NSApp replyToApplicationShouldTerminate:YES];
+ } else {
[NSApp replyToApplicationShouldTerminate:NO];
- if (currentDocumentsTimer == nil)
- [self registerForCurrentDocumentsNotifications];
- } else {
- if ([doc canExitPresentation])
- [doc setInteractionMode:SKNormalMode];
- [NSApp replyToApplicationShouldTerminate:YES];
+ [self registerForCurrentDocumentsNotifications];
}
});
return NSTerminateLater;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit