]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/block.cpp
Allow intercepting and denying turnout route and locomotive speed changes
[r2c2.git] / source / libmarklin / block.cpp
index 94be126c77d088c1b44ba63303a99253a0338957..ee0a48cb950498474e0fe7d2b8bc602a5ac77987 100644 (file)
@@ -21,6 +21,7 @@ Block::Block(TrafficManager &tm, Track &start):
        trfc_mgr(tm),
        id(next_id++),
        sensor_id(start.get_sensor_id()),
+       turnout_id(start.get_turnout_id()),
        train(0)
 {
        tracks.insert(&start);
@@ -37,7 +38,7 @@ Block::Block(TrafficManager &tm, Track &start):
                for(unsigned i=0; i<links.size(); ++i)
                        if(links[i] && !tracks.count(links[i]))
                        {
-                               if(links[i]->get_sensor_id()==sensor_id && !links[i]->get_turnout_id() && !track->get_turnout_id())
+                               if(links[i]->get_sensor_id()==sensor_id && links[i]->get_turnout_id()==turnout_id)
                                {
                                        queue.push_back(links[i]);
                                        tracks.insert(links[i]);