Revision: 29073
http://sourceforge.net/p/bibdesk/svn/29073
Author: hofman
Date: 2025-02-27 00:08:35 +0000 (Thu, 27 Feb 2025)
Log Message:
-----------
Pass dowwnload task and delegate in init, make delegate weak
Modified Paths:
--------------
trunk/bibdesk/BDSKDownloader.h
trunk/bibdesk/BDSKDownloader.m
Modified: trunk/bibdesk/BDSKDownloader.h
===================================================================
--- trunk/bibdesk/BDSKDownloader.h 2025-02-26 22:10:34 UTC (rev 29072)
+++ trunk/bibdesk/BDSKDownloader.h 2025-02-27 00:08:35 UTC (rev 29073)
@@ -63,12 +63,14 @@
@interface BDSKDownload : NSObject {
NSURLSessionTask *task;
NSMutableData *data;
- id <BDSKDownloadDelegate> delegate;
+ __weak id <BDSKDownloadDelegate> delegate;
BOOL receivedExpectedBytes;
}
-@property (nonatomic, nullable, strong) id <BDSKDownloadDelegate> delegate;
-@property (nonatomic, nullable, strong) NSURLSessionTask *task;
+- (instancetype)initWithTask:(NSURLSessionTask *)task delegate:(id
<BDSKDownloadDelegate>)delegate;
+
+@property (nonatomic, nullable, weak) id <BDSKDownloadDelegate> delegate;
+@property (nonatomic, readonly) NSURLSessionTask *task;
@property (nonatomic, nullable, readonly) NSURLResponse *response;
@property (nonatomic, nullable, strong) NSMutableData *data;
@property (nonatomic) BOOL receivedExpectedBytes;
Modified: trunk/bibdesk/BDSKDownloader.m
===================================================================
--- trunk/bibdesk/BDSKDownloader.m 2025-02-26 22:10:34 UTC (rev 29072)
+++ trunk/bibdesk/BDSKDownloader.m 2025-02-27 00:08:35 UTC (rev 29073)
@@ -84,9 +84,7 @@
}
- (BDSKDownload *)addDownloadWithTask:(NSURLSessionTask *)task delegate:(id
<BDSKDownloadDelegate>)delegate {
- BDSKDownload *download = [[BDSKDownload alloc] init];
- [download setTask:task];
- [download setDelegate:delegate];
+ BDSKDownload *download = [[BDSKDownload alloc] initWithTask:task
delegate:delegate];
[downloads setObject:download forKey:task];
return download;
}
@@ -244,6 +242,15 @@
@synthesize delegate, task, data, receivedExpectedBytes;
@dynamic response;
+- (instancetype)initWithTask:(NSURLSessionTask *)aTask
delegate:(id<BDSKDownloadDelegate>)aDelegate {
+ self = [super init];
+ if (self) {
+ task = aTask;
+ delegate = aDelegate;
+ }
+ return self;
+}
+
- (NSURLResponse *)response {
return [[self task] response];
}
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