Revision: 28489
          http://sourceforge.net/p/bibdesk/svn/28489
Author:   hofman
Date:     2023-12-30 17:08:28 +0000 (Sat, 30 Dec 2023)
Log Message:
-----------
let completionHandler block retain window controller for sheet

Modified Paths:
--------------
    trunk/bibdesk/NSWindowController_BDSKExtensions.m

Modified: trunk/bibdesk/NSWindowController_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSWindowController_BDSKExtensions.m   2023-12-30 16:53:51 UTC 
(rev 28488)
+++ trunk/bibdesk/NSWindowController_BDSKExtensions.m   2023-12-30 17:08:28 UTC 
(rev 28489)
@@ -94,8 +94,12 @@
 #pragma mark Sheet methods
 
 - (void)beginSheetModalForWindow:(NSWindow *)window completionHandler:(void 
(^)(NSInteger result))handler {
-       [self retain]; // make sure we stay around long enough
-    [window beginSheet:[self window] completionHandler:handler];
+    __block id strongSelf = [self retain];
+    [window beginSheet:[self window] completionHandler:^(NSModalResponse 
result){
+        if (handler)
+            handler(result);
+        BDSKDESTROY(strongSelf);
+    }];
 }
 
 - (void)didDismissSheet {}
@@ -105,7 +109,6 @@
     if (window) {
         [window endSheet:[self window] returnCode:[sender tag]];
         [self didDismissSheet];
-        [self autorelease];
     }
 }
 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to