(svn r25948) -Fix [FS#5796]: Make sure LinkRefresher doesn't delete the LinkGraph DeleteStaleLinks() is examining.

This commit is contained in:
fonsinchen
2013-11-07 20:50:03 +00:00
parent 94472cfeba
commit b83b4ab4c2
3 changed files with 22 additions and 8 deletions

View File

@@ -23,7 +23,7 @@
*/
class LinkRefresher {
public:
static void Run(Vehicle *v);
static void Run(Vehicle *v, bool allow_merge = true);
protected:
/**
@@ -87,8 +87,9 @@ protected:
RefitList refit_capacities; ///< Current state of capacity remaining from previous refits versus overall capacity per vehicle in the consist.
HopSet *seen_hops; ///< Hops already seen. If the same hop is seen twice we stop the algorithm. This is shared between all Refreshers of the same run.
CargoID cargo; ///< Cargo given in last refit order.
bool allow_merge; ///< If the refresher is allowed to merge or extend link graphs.
LinkRefresher(Vehicle *v, HopSet *seen_hops);
LinkRefresher(Vehicle *v, HopSet *seen_hops, bool allow_merge);
void HandleRefit(const Order *next);
void ResetRefit();