mirror of https://github.com/OpenTTD/OpenTTD
(svn r25915) -Fix: Unrestricted flow was counted incorrectly when invalidating flow.
parent
3ce2c4a5a3
commit
8926398f89
|
@ -4160,14 +4160,12 @@ void FlowStat::Invalidate()
|
|||
assert(!this->shares.empty());
|
||||
SharesMap new_shares;
|
||||
uint i = 0;
|
||||
uint orig = 0;
|
||||
for (SharesMap::iterator it(this->shares.begin()); it != this->shares.end(); ++it) {
|
||||
new_shares[++i] = it->second;
|
||||
orig += it->first;
|
||||
if (orig == this->unrestricted) this->unrestricted = orig;
|
||||
if (it->first == this->unrestricted) this->unrestricted = i;
|
||||
}
|
||||
this->shares.swap(new_shares);
|
||||
assert(!this->shares.empty());
|
||||
assert(!this->shares.empty() && this->unrestricted <= (--this->shares.end())->first);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue