X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Ftrain.cpp;h=936f74aa82d6d522bb74a7d500a59eeecea0f2d2;hb=05afa986fa3d923a0ee239bb9200bdec7c6f1b5f;hp=099e7611c3fbe7c63c1da2a6d432acc8614228a0;hpb=621c5c938d70ba0d155e0eda91a708db0a52c0dc;p=r2c2.git diff --git a/source/libr2c2/train.cpp b/source/libr2c2/train.cpp index 099e761..936f74a 100644 --- a/source/libr2c2/train.cpp +++ b/source/libr2c2/train.cpp @@ -542,7 +542,7 @@ void Train::free_noncritical_blocks() } } -int Train::get_entry_to_block(Block &block) const +int Train::get_entry_to_block(const Block &block) const { for(BlockList::const_iterator i=blocks.begin(); i!=blocks.end(); ++i) if(i->block()==&block) @@ -1105,6 +1105,8 @@ void Train::check_turnout_paths(bool set) if(i==clear_blocks_end) ++clear_blocks_end; + if(i==cur_blocks_end && !(*i)->get_sensor_id()) + ++cur_blocks_end; } } @@ -1289,7 +1291,7 @@ Train::RouteRef::RouteRef(const Route *r, unsigned d): Train::Loader::Loader(Train &t): - DataFile::BasicLoader(t), + DataFile::ObjectLoader(t), prev_block(0), blocks_valid(true) {