Revision: 13899
http://sourceforge.net/p/skim-app/code/13899
Author: hofman
Date: 2023-12-12 16:46:55 +0000 (Tue, 12 Dec 2023)
Log Message:
-----------
retain window controller during sheet by retaining by xompletion handler
Modified Paths:
--------------
trunk/NSWindowController_SKExtensions.m
Modified: trunk/NSWindowController_SKExtensions.m
===================================================================
--- trunk/NSWindowController_SKExtensions.m 2023-12-12 16:38:52 UTC (rev
13898)
+++ trunk/NSWindowController_SKExtensions.m 2023-12-12 16:46:55 UTC (rev
13899)
@@ -67,16 +67,17 @@
- (BOOL)isNoteWindowController { return NO; }
- (void)beginSheetModalForWindow:(NSWindow *)window completionHandler:(void
(^)(NSModalResponse result))handler {
- [self retain]; // make sure we stay around long enough
- [window beginSheet:[self window] completionHandler:handler];
+ __block id strongSelf = self;
+ [window beginSheet:[self window] completionHandler:^(NSModalResponse
result){
+ if (handler)
+ handler(result);
+ SKDESTROY(strongSelf);
+ }];
}
- (IBAction)dismissSheet:(id)sender {
NSWindow *window = [[self window] sheetParent];
- if (window) {
- [window endSheet:[self window] returnCode:[sender tag]];
- [self autorelease];
- }
+ [window endSheet:[self window] returnCode:[sender tag]];
}
@end
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