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