Fixed possible track idx overflow causing crash

CQTexperiment
o1 2015-01-07 15:10:33 +03:00
parent 9cb9a86248
commit b3072709e4
1 changed files with 7 additions and 12 deletions

View File

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