// Update cur_blocks_end first to keep things consistent.
cur_blocks_end = end;
for(; i!=end; ++i)
- train.signal_advanced.emit(**i);
+ signal_advanced.emit(**i, (*i)->get_sensor());
}
void BlockAllocator::advance_front(const Sensor *sensor)
{
if(&sensor==next_sensor)
{
+ if(is_block_current(*block))
+ signal_advanced.emit(*block, &sensor);
update_next_sensor(next_sensor);
advance_front(next_sensor);