void BlockAllocator::sensor_state_changed(Sensor &sensor, Sensor::State state)
{
- Block *block = 0;
- if(TrackCircuit *tc = dynamic_cast<TrackCircuit *>(&sensor))
- block = &tc->get_block();
- else
- return;
-
- if(block->get_train()!=&train)
+ Block *block = sensor.get_block();
+ if(!block || block->get_train()!=&train)
return;
if(state==Sensor::MAYBE_ACTIVE)