if(real_speed[i].weight)
{
last = i;
- if(real_speed[i].speed<real)
- low = i;
- else
+ if(real_speed[i].speed>=real)
high = i;
+ else if(real_speed[i].speed>real_speed[low].speed)
+ low = i;
}
if(!high)
{
track1 = track1.next(path);
- if(track1.looped())
+ if(!track1 || track1.looped())
return false;
}
bool ok = (track2!=from && diversion.has_track(*track2));
track2 = track2.next(path);
+ if(!track2)
+ return false;
if(ok)
break;