X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Ftimetable.cpp;h=a699fc8c14b39cc51db86e64323a51e7a96fa654;hb=6ba6af3637c299ab00828c49de9151429488cc17;hp=afe83ff867376004753b75c60408b904f5f36c48;hpb=25c26706d400228110e14a4a9a9765cb1298372d;p=r2c2.git diff --git a/source/libmarklin/timetable.cpp b/source/libmarklin/timetable.cpp index afe83ff..a699fc8 100644 --- a/source/libmarklin/timetable.cpp +++ b/source/libmarklin/timetable.cpp @@ -90,7 +90,8 @@ void Timetable::tick(const Time::TimeStamp &t) switch(row.type) { case GOTO: - train.go_to(**parse_location(row.get_param(0)).get_tracks().begin()); + if(!train.go_to(**parse_location(row.get_param(0)).get_tracks().begin())) + set_enabled(false); break; case TRAVEL: pending_block = &parse_location(row.get_param(0)); @@ -116,7 +117,8 @@ void Timetable::tick(const Time::TimeStamp &t) train.set_control("reverse", !train.get_control("reverse")); break; case ROUTE: - train.set_route(&train.get_layout().get_route(row.get_param(0))); + if(!train.set_route(&train.get_layout().get_route(row.get_param(0)))) + set_enabled(false); break; }