1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-26 01:27:28 +00:00

a tiny bit more safety by assigning the torrent directly, instead of getting the index

This commit is contained in:
Mitchell Livingston 2013-03-04 04:12:54 +00:00
parent ac7b2ee6a7
commit 7f03e04538

View file

@ -4740,19 +4740,19 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
@autoreleasepool @autoreleasepool
{ {
//get the torrent //get the torrent
Torrent * torrent = nil; __block Torrent * torrent = nil;
if (torrentStruct != NULL && (type != TR_RPC_TORRENT_ADDED && type != TR_RPC_SESSION_CHANGED && type != TR_RPC_SESSION_CLOSE)) if (torrentStruct != NULL && (type != TR_RPC_TORRENT_ADDED && type != TR_RPC_SESSION_CHANGED && type != TR_RPC_SESSION_CLOSE))
{ {
const NSUInteger index = [fTorrents indexOfObjectWithOptions:NSEnumerationConcurrent passingTest: ^BOOL(Torrent * checkTorrent, NSUInteger idx, BOOL * stop) { [fTorrents enumerateObjectsWithOptions: NSEnumerationConcurrent usingBlock: ^(Torrent * checkTorrent, NSUInteger idx, BOOL *stop) {
return torrentStruct == [checkTorrent torrentStruct]; if (torrentStruct == [checkTorrent torrentStruct])
torrent = checkTorrent;
}]; }];
if (index == NSNotFound) if (!torrent)
{ {
NSLog(@"No torrent found matching the given torrent struct from the RPC callback!"); NSLog(@"No torrent found matching the given torrent struct from the RPC callback!");
return; return;
} }
torrent = [fTorrents objectAtIndex: index];
} }
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{