(svn r8746) -Regression r8331: build train window could sort incorrectly by EngineID with certain newGRF sets

This commit is contained in:
bjarni 2007-02-15 17:51:39 +00:00
parent c50396cb15
commit 8675b8ec7d
1 changed files with 10 additions and 1 deletions

View File

@ -224,6 +224,15 @@ static int CDECL TrainEnginePowerVsRunningCostSorter(const void *a, const void *
return _internal_sort_order ? -r : r;
}
static int CDECL TrainEngineNumberSorter(const void *a, const void *b)
{
const EngineID va = *(const EngineID*)a;
const EngineID vb = *(const EngineID*)b;
int r = ListPositionOfEngine(va) - ListPositionOfEngine(vb);
return _internal_sort_order ? -r : r;
}
static int CDECL TrainEnginesThenWagonsSorter(const void *a, const void *b)
{
EngineID va = *(const EngineID*)a;
@ -290,7 +299,7 @@ static int CDECL AircraftEngineCargoSorter(const void *a, const void *b)
static EngList_SortTypeFunction * const _sorter[][9] = {{
/* Trains */
&EngineNumberSorter,
&TrainEngineNumberSorter,
&TrainEngineCostSorter,
&TrainEngineSpeedSorter,
&TrainEnginePowerSorter,