summaryrefslogtreecommitdiff
path: root/train_gui.c
diff options
context:
space:
mode:
authorbjarni <bjarni@openttd.org>2006-10-07 14:30:13 +0000
committerbjarni <bjarni@openttd.org>2006-10-07 14:30:13 +0000
commitbc1070654a4187273e38fcce5361e5606f33b1d9 (patch)
treeff7fa2247d12cb30d71d1ac2a8941d2af01165f8 /train_gui.c
parente1ad1102f2692ff4d03986f25f6880b69b6b82ec (diff)
downloadopenttd-bc1070654a4187273e38fcce5361e5606f33b1d9.tar.xz
(svn r6680) -Codechange r6679: [train build window] only generate the list when the window data is invalidated or the window is generated, not on each redraw
Diffstat (limited to 'train_gui.c')
-rw-r--r--train_gui.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/train_gui.c b/train_gui.c
index f290df9ed..d679288dd 100644
--- a/train_gui.c
+++ b/train_gui.c
@@ -273,7 +273,10 @@ static void DrawTrainBuildWindow(Window *w)
SetWindowWidgetLoweredState(w, BUILD_TRAIN_WIDGET_WAGONS, WP(w,buildtrain_d).show_engine_wagon == 2);
SetWindowWidgetLoweredState(w, BUILD_TRAIN_WIDGET_BOTH, WP(w,buildtrain_d).show_engine_wagon == 3);
- GenerateBuildList(&WP(w,buildtrain_d).engines, &WP(w,buildtrain_d).num_engines, &WP(w,buildtrain_d).wagons, &WP(w,buildtrain_d).num_wagons, WP(w,buildtrain_d).railtype);
+ if (WP(w,buildtrain_d).data_invalidated) {
+ GenerateBuildList(&WP(w,buildtrain_d).engines, &WP(w,buildtrain_d).num_engines, &WP(w,buildtrain_d).wagons, &WP(w,buildtrain_d).num_wagons, WP(w,buildtrain_d).railtype);
+ WP(w,buildtrain_d).data_invalidated = false;
+ }
if (HASBIT(WP(w,buildtrain_d).show_engine_wagon, 0)) scrollcount += WP(w,buildtrain_d).num_engines;
if (HASBIT(WP(w,buildtrain_d).show_engine_wagon, 1)) scrollcount += WP(w,buildtrain_d).num_wagons;
@@ -326,6 +329,11 @@ static void NewRailVehicleWndProc(Window *w, WindowEvent *e)
WP(w,buildtrain_d).engines = NULL;
WP(w,buildtrain_d).wagons = NULL;
WP(w,buildtrain_d).show_engine_wagon = 3;
+ WP(w,buildtrain_d).data_invalidated = true;
+ break;
+
+ case WE_INVALIDATE_DATA:
+ WP(w,buildtrain_d).data_invalidated = true;
break;
case WE_DESTROY: