mirror of
https://github.com/transmission/transmission
synced 2025-03-04 10:38:13 +00:00
fix an annoying crash
This commit is contained in:
parent
355f450156
commit
7a5369023e
1 changed files with 16 additions and 19 deletions
|
@ -1100,10 +1100,10 @@ void sleepCallBack(void * controller, io_service_t y, natural_t messageType, voi
|
|||
if ([fDefaults boolForKey: @"CheckRemoveDownloading"] ? downloading > 0 : active > 0)
|
||||
{
|
||||
NSDictionary * dict = [[NSDictionary alloc] initWithObjectsAndKeys:
|
||||
torrents, @"Torrents",
|
||||
[NSNumber numberWithBool: deleteData], @"DeleteData",
|
||||
[NSNumber numberWithBool: deleteTorrent], @"DeleteTorrent", nil];
|
||||
|
||||
torrents, @"Torrents",
|
||||
[NSNumber numberWithBool: deleteData], @"DeleteData",
|
||||
[NSNumber numberWithBool: deleteTorrent], @"DeleteTorrent", nil];
|
||||
|
||||
NSString * title, * message;
|
||||
|
||||
int selected = [fTableView numberOfSelectedRows];
|
||||
|
@ -1154,7 +1154,7 @@ void sleepCallBack(void * controller, io_service_t y, natural_t messageType, voi
|
|||
NSLocalizedString(@" Once removed, continuing the transfers will require the torrent files.",
|
||||
"Removal confirm panel -> message part 2")];
|
||||
}
|
||||
|
||||
|
||||
NSBeginAlertSheet(title, NSLocalizedString(@"Remove", "Removal confirm panel -> button"),
|
||||
NSLocalizedString(@"Cancel", "Removal confirm panel -> button"), nil, fWindow, self,
|
||||
nil, @selector(removeSheetDidEnd:returnCode:contextInfo:), dict, message);
|
||||
|
@ -1168,14 +1168,13 @@ void sleepCallBack(void * controller, io_service_t y, natural_t messageType, voi
|
|||
- (void) removeSheetDidEnd: (NSWindow *) sheet returnCode: (int) returnCode contextInfo: (NSDictionary *) dict
|
||||
{
|
||||
NSArray * torrents = [dict objectForKey: @"Torrents"];
|
||||
BOOL deleteData = [[dict objectForKey: @"DeleteData"] boolValue],
|
||||
deleteTorrent = [[dict objectForKey: @"DeleteTorrent"] boolValue];
|
||||
[dict release];
|
||||
|
||||
if (returnCode == NSAlertDefaultReturn)
|
||||
[self confirmRemoveTorrents: torrents deleteData: deleteData deleteTorrent: deleteTorrent];
|
||||
[self confirmRemoveTorrents: torrents deleteData: [[dict objectForKey: @"DeleteData"] boolValue]
|
||||
deleteTorrent: [[dict objectForKey: @"DeleteTorrent"] boolValue]];
|
||||
else
|
||||
[torrents release];
|
||||
|
||||
[dict release];
|
||||
}
|
||||
|
||||
- (void) confirmRemoveTorrents: (NSArray *) torrents deleteData: (BOOL) deleteData deleteTorrent: (BOOL) deleteTorrent
|
||||
|
@ -1185,14 +1184,15 @@ void sleepCallBack(void * controller, io_service_t y, natural_t messageType, voi
|
|||
Torrent * torrent;
|
||||
while ((torrent = [enumerator nextObject]))
|
||||
[torrent setWaitToStart: NO];
|
||||
|
||||
|
||||
int lowestOrderValue = -1, currentOrderValue;
|
||||
|
||||
|
||||
[fTorrents removeObjectsInArray: torrents];
|
||||
[fDisplayedTorrents removeObjectsInArray: torrents];
|
||||
|
||||
enumerator = [torrents objectEnumerator];
|
||||
while ((torrent = [enumerator nextObject]))
|
||||
{
|
||||
[torrent stopTransfer];
|
||||
|
||||
if (deleteData)
|
||||
[torrent trashData];
|
||||
if (deleteTorrent)
|
||||
|
@ -1204,9 +1204,8 @@ void sleepCallBack(void * controller, io_service_t y, natural_t messageType, voi
|
|||
lowestOrderValue = currentOrderValue;
|
||||
|
||||
[torrent closeRemoveTorrent];
|
||||
[fTorrents removeObject: torrent];
|
||||
[fDisplayedTorrents removeObject: torrent];
|
||||
}
|
||||
|
||||
[torrents release];
|
||||
|
||||
//reset the order values if necessary
|
||||
|
@ -1226,9 +1225,7 @@ void sleepCallBack(void * controller, io_service_t y, natural_t messageType, voi
|
|||
|
||||
[fTableView deselectAll: nil];
|
||||
|
||||
[self updateUI];
|
||||
[self applyFilter: nil];
|
||||
[self updateTorrentHistory];
|
||||
[self updateTorrentsInQueue];
|
||||
}
|
||||
|
||||
- (void) removeNoDelete: (id) sender
|
||||
|
|
Loading…
Add table
Reference in a new issue