mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-17 21:25:40 +00:00
(svn r7304) -Codechange: Reinstate caching of sorted purchase list. Dropping from 9m to 1.5m cycles for a redraw of a full list is not frivolous.
This commit is contained in:
parent
058af8eb30
commit
8a91f18058
@ -447,7 +447,6 @@ static void DrawTrainBuildWindow(Window *w)
|
||||
uint16 scrollcount = 0;
|
||||
|
||||
SetWindowWidgetDisabledState(w, BUILD_TRAIN_WIDGET_BUILD, w->window_number == 0); // Disable unless we got a depot to build in
|
||||
GenerateBuildList(w);
|
||||
|
||||
/* Make sure that the selected engine is still in the list*/
|
||||
if (bv->sel_engine != INVALID_ENGINE) {
|
||||
@ -493,9 +492,11 @@ static void NewRailVehicleWndProc(Window *w, WindowEvent *e)
|
||||
bv->sel_engine = INVALID_ENGINE;
|
||||
bv->sort_criteria = _last_sort_criteria;
|
||||
bv->descending_sort_order = _last_sort_order;
|
||||
GenerateBuildList(w);
|
||||
break;
|
||||
|
||||
case WE_INVALIDATE_DATA:
|
||||
GenerateBuildList(w);
|
||||
SetWindowDirty(w);
|
||||
break;
|
||||
|
||||
@ -511,6 +512,7 @@ static void NewRailVehicleWndProc(Window *w, WindowEvent *e)
|
||||
switch (e->we.click.widget) {
|
||||
case BUILD_TRAIN_WIDGET_SORT_ASCENDING_DESCENDING:
|
||||
_last_sort_order = bv->descending_sort_order = !bv->descending_sort_order;
|
||||
GenerateBuildList(w);
|
||||
SetWindowDirty(w);
|
||||
break;
|
||||
|
||||
@ -557,8 +559,9 @@ static void NewRailVehicleWndProc(Window *w, WindowEvent *e)
|
||||
if (bv->sort_criteria != e->we.dropdown.index) {
|
||||
bv->sort_criteria = e->we.dropdown.index;
|
||||
_last_sort_criteria = e->we.dropdown.index;
|
||||
}
|
||||
GenerateBuildList(w);
|
||||
SetWindowDirty(w);
|
||||
}
|
||||
break;
|
||||
|
||||
case WE_RESIZE: {
|
||||
|
Loading…
Reference in New Issue
Block a user