]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/track.cpp
Don't crash if a train has no router
[r2c2.git] / source / libr2c2 / track.cpp
index b53342c645c6d71e77ab3727e9833908835bf228..d7ccf667673d16dc99b969a36f35798cfd6177cb 100644 (file)
@@ -38,7 +38,8 @@ Track::Track(Layout &l, const TrackType &t):
        sensor_addr(0),
        links(type.get_endpoints().size()),
        active_path(0),
-       path_changing(false)
+       path_changing(false),
+       preferred_exit(-1)
 {
        if(type.is_turnout())
        {
@@ -187,6 +188,11 @@ void Track::set_sensor_address(unsigned a)
        layout.create_blocks(*this);
 }
 
+void Track::set_preferred_exit(int e)
+{
+       preferred_exit = e;
+}
+
 void Track::set_active_path(unsigned p)
 {
        if(!type.is_turnout())
@@ -197,7 +203,7 @@ void Track::set_active_path(unsigned p)
        if(active_path==p)
                return;
 
-       signal_path_changing(p);
+       signal_path_changing.emit(p);
        path_changing = true;
        layout.get_driver().set_turnout(turnout_id, p);
 }