Fix: Use of unstable sort when distributing cargo production can cause desyncs

This commit is contained in:
dP 2021-07-31 22:46:36 +03:00 committed by rubidium42
parent 6fce05689c
commit c1d79398d5

View File

@ -4080,7 +4080,7 @@ uint MoveGoodsToStation(CargoID type, uint amount, SourceType source_type, Sourc
/* If there is some cargo left due to rounding issues distribute it among the best rated stations. */ /* If there is some cargo left due to rounding issues distribute it among the best rated stations. */
if (amount > moving) { if (amount > moving) {
std::sort(used_stations.begin(), used_stations.end(), [type](const StationInfo &a, const StationInfo &b) { std::stable_sort(used_stations.begin(), used_stations.end(), [type](const StationInfo &a, const StationInfo &b) {
return b.first->goods[type].rating < a.first->goods[type].rating; return b.first->goods[type].rating < a.first->goods[type].rating;
}); });