X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Ftrafficmanager.cpp;h=b652d04cc5eeddb483ae9eb6792b9725f9240ca6;hb=a448b6ac73e0eb19980e69b095136eabe95d2534;hp=b7301d3dd63e19674ebc0f0896c9aa1ce3ff6f5e;hpb=010d8321e982d1684fcbff5bf6fc2bdec7cb7bae;p=r2c2.git diff --git a/source/libmarklin/trafficmanager.cpp b/source/libmarklin/trafficmanager.cpp index b7301d3..b652d04 100644 --- a/source/libmarklin/trafficmanager.cpp +++ b/source/libmarklin/trafficmanager.cpp @@ -31,9 +31,10 @@ TrafficManager::TrafficManager(Control &c, Layout &l): for(set::const_iterator i=tracks.begin(); i!=tracks.end(); ++i) { if(unsigned tid=(*i)->get_turnout_id()) - new Turnout(control, tid, (*i)->get_type().get_n_routes()>=3); + new Turnout(control, tid, (*i)->get_type().get_n_paths()>=3); if(unsigned sid=(*i)->get_sensor_id()) - new Sensor(control, sid); + if(!control.get_sensors().count(sid)) + new Sensor(control, sid); if(used_tracks.count(*i)==0) { @@ -114,7 +115,7 @@ void TrafficManager::save(const string &fn) const } } -void TrafficManager::turnout_route_changed(unsigned, Turnout *) +void TrafficManager::turnout_path_changed(unsigned, Turnout *) { }