summaryrefslogtreecommitdiff
path: root/road_gui.c
diff options
context:
space:
mode:
authordarkvater <darkvater@openttd.org>2005-01-23 15:25:17 +0000
committerdarkvater <darkvater@openttd.org>2005-01-23 15:25:17 +0000
commitc9d6ea2570c3b9460e0a239dc7bbd1620ab46e72 (patch)
tree19ce437575178a0434a9682b56bafceb06b0c6b9 /road_gui.c
parent1cd455b8be2782590f708804f861a47a8d2fef29 (diff)
downloadopenttd-c9d6ea2570c3b9460e0a239dc7bbd1620ab46e72.tar.xz
(svn r1617) -Fix: Ugly hack to only call ResetObjectToPlaceon childwindows of build-toolbar if the window is closed manually (with 'X'); if not checked ResetObjectToPlace is called twice resulting in undesired actions (eg. clicked button is unclicked immediately).
Diffstat (limited to 'road_gui.c')
-rw-r--r--road_gui.c29
1 files changed, 9 insertions, 20 deletions
diff --git a/road_gui.c b/road_gui.c
index ba17873f9..b3fa397ea 100644
--- a/road_gui.c
+++ b/road_gui.c
@@ -353,14 +353,8 @@ static void BuildRoadDepotWndProc(Window *w, WindowEvent *e) {
break;
case WE_CLICK: {
- switch(e->click.widget) {
- case 0:
- ResetObjectToPlace();
- break;
- case 3:
- case 4:
- case 5:
- case 6:
+ switch (e->click.widget) {
+ case 3: case 4: case 5: case 6:
_road_depot_orientation = e->click.widget - 3;
SndPlayFx(SND_15_BEEP);
SetWindowDirty(w);
@@ -374,7 +368,8 @@ static void BuildRoadDepotWndProc(Window *w, WindowEvent *e) {
break;
case WE_DESTROY:
- ResetObjectToPlace();
+ if (!WP(w,def_d).close)
+ ResetObjectToPlace();
break;
}
}
@@ -436,20 +431,13 @@ static void RoadStationPickerWndProc(Window *w, WindowEvent *e)
} break;
case WE_CLICK: {
- switch(e->click.widget) {
- case 0:
- ResetObjectToPlace();
- break;
- case 3:
- case 4:
- case 5:
- case 6:
+ switch (e->click.widget) {
+ case 3: case 4: case 5: case 6:
_road_station_picker_orientation = e->click.widget - 3;
SndPlayFx(SND_15_BEEP);
SetWindowDirty(w);
break;
- case 7:
- case 8:
+ case 7: case 8:
_station_show_coverage = e->click.widget - 7;
SndPlayFx(SND_15_BEEP);
SetWindowDirty(w);
@@ -467,7 +455,8 @@ static void RoadStationPickerWndProc(Window *w, WindowEvent *e)
} break;
case WE_DESTROY:
- ResetObjectToPlace();
+ if (!WP(w,def_d).close)
+ ResetObjectToPlace();
break;
}
}