X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Ftrainrouteplanner.cpp;h=3f8739347d455405f1f2a6fef03c6b2c02c5e3a9;hb=3d5779e12351547dded382f2d05d3f3f037dbcfd;hp=e8b5d90107b59b7dad25a455d0f7d4bc678c2a5b;hpb=932c76bc0358eeaf1c18cc950201226262d0df17;p=r2c2.git diff --git a/source/libr2c2/trainrouteplanner.cpp b/source/libr2c2/trainrouteplanner.cpp index e8b5d90..3f87393 100644 --- a/source/libr2c2/trainrouteplanner.cpp +++ b/source/libr2c2/trainrouteplanner.cpp @@ -175,7 +175,7 @@ TrainRoutePlanner::TrainRoutingState::TrainRoutingState(const TrainRoutingState TrainRoutePlanner::TrainRoutingState::~TrainRoutingState() { - if(!--occupied_tracks->refcount) + if(occupied_tracks && !--occupied_tracks->refcount) delete occupied_tracks; } @@ -184,7 +184,7 @@ Time::TimeDelta TrainRoutePlanner::TrainRoutingState::get_time_to_next_track() c return ((track->get_type().get_path_length(path)-offset)/info->speed)*Time::sec+delay; } -bool TrainRoutePlanner::TrainRoutingState::is_occupied(Track &trk) const +bool TrainRoutePlanner::TrainRoutingState::is_occupying(Track &trk) const { OccupiedTrack *occ = occupied_tracks; for(unsigned n=occ->n_tracks; n>0; --n, occ=occ->next) @@ -362,7 +362,7 @@ bool TrainRoutePlanner::RoutingStep::check_deadlocks() const int TrainRoutePlanner::RoutingStep::get_occupant(Track &track) const { for(unsigned i=0; i