Fixed possible track idx overflow causing crash

This commit is contained in:
o1 2015-01-07 15:10:33 +03:00
parent 9cb9a86248
commit b3072709e4

View file

@ -500,19 +500,14 @@
{ {
RepeatMode repeat = [self repeat]; RepeatMode repeat = [self repeat];
if (i < 0) if (i < 0 || i >= [[self arrangedObjects] count] ) {
{
if ( repeat != RepeatNone ) if ( repeat != RepeatNone )
return nil;
while ( i < 0 )
i += [[self arrangedObjects] count]; i += [[self arrangedObjects] count];
else if ( i >= [[self arrangedObjects] count])
return nil; i %= [[self arrangedObjects] count];
}
else if (i >= [[self arrangedObjects] count])
{
if (repeat != RepeatNone)
i -= [[self arrangedObjects] count];
else
return nil;
} }
return [[self arrangedObjects] objectAtIndex:i]; return [[self arrangedObjects] objectAtIndex:i];