]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/trainrouter.cpp
Use deque rather than list for queues
[r2c2.git] / source / libr2c2 / trainrouter.cpp
index 4a5c2bb084a43ce6977d6145f448027364a34aba..9a9d338728140a8edcec2420a821535c9dca38d9 100644 (file)
@@ -119,7 +119,7 @@ void TrainRouter::route_changed()
                if(!sequence_points.empty())
                {
                        const SequencePoint &sp = sequence_points.front();
-                       if(sp.block==fncb.block() && !sp.is_cleared())
+                       if(sp.block==fncb.block() && sp.preceding_train)
                        {
                                arrival = WAITING_FOR_SEQUENCE;
                                sequence_check_pending = true;
@@ -232,7 +232,8 @@ void TrainRouter::tick(const Time::TimeDelta &dt)
        if(planner && planner->check()!=TrainRoutePlanner::PENDING)
                apply_plan(train.get_layout(), *planner);
 
-       if(!train.get_layout().get_driver().is_halted())
+       Layout &layout = train.get_layout();
+       if(!layout.get_driver().is_halted() && !layout.get_clock().is_stopped())
        {
                if(delay)
                {