From 8926398f896f2f6b6ba1d43267dbf04f5404e3c3 Mon Sep 17 00:00:00 2001
From: fonsinchen <fonsinchen@openttd.org>
Date: Sun, 27 Oct 2013 11:51:14 +0000
Subject: (svn r25915) -Fix: Unrestricted flow was counted incorrectly when
 invalidating flow.

---
 src/station_cmd.cpp | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index ca0c0be05..004202c5b 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -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);
 }
 
 /**
-- 
cgit v1.2.3-70-g09d2