(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).
--- a/airport_gui.c Sun Jan 23 15:16:47 2005 +0000
+++ b/airport_gui.c Sun Jan 23 15:25:17 2005 +0000
@@ -179,9 +179,6 @@
case WE_CLICK: {
switch(e->click.widget) {
- case 0:
- ResetObjectToPlace();
- break;
case 3: case 4: case 5: case 6: case 7:
_selected_airport_type = e->click.widget - 3;
SndPlayFx(SND_15_BEEP);
@@ -205,7 +202,8 @@
} break;
case WE_DESTROY:
- ResetObjectToPlace();
+ if (!WP(w,def_d).close)
+ ResetObjectToPlace();
break;
}
}
--- a/dock_gui.c Sun Jan 23 15:16:47 2005 +0000
+++ b/dock_gui.c Sun Jan 23 15:25:17 2005 +0000
@@ -234,9 +234,6 @@
case WE_CLICK: {
switch(e->click.widget) {
- case 0:
- ResetObjectToPlace();
- break;
case 3: case 4:
_station_show_coverage = e->click.widget - 3;
SndPlayFx(SND_15_BEEP);
@@ -256,7 +253,8 @@
}
case WE_DESTROY:
- ResetObjectToPlace();
+ if (!WP(w,def_d).close)
+ ResetObjectToPlace();
break;
}
}
@@ -307,9 +305,6 @@
case WE_CLICK: {
switch(e->click.widget) {
- case 0:
- ResetObjectToPlace();
- break;
case 3:
case 4:
_ship_depot_direction = e->click.widget - 3;
@@ -326,7 +321,8 @@
break;
case WE_DESTROY:
- ResetObjectToPlace();
+ if (!WP(w,def_d).close)
+ ResetObjectToPlace();
break;
}
}
--- a/rail_gui.c Sun Jan 23 15:16:47 2005 +0000
+++ b/rail_gui.c Sun Jan 23 15:25:17 2005 +0000
@@ -761,9 +761,6 @@
case WE_CLICK: {
switch(e->click.widget) {
- case 0:
- ResetObjectToPlace();
- break;
case 3:
case 4:
_railstation.orientation = e->click.widget - 3;
@@ -821,7 +818,8 @@
} break;
case WE_DESTROY:
- ResetObjectToPlace();
+ if (!WP(w,def_d).close)
+ ResetObjectToPlace();
break;
}
}
@@ -888,13 +886,7 @@
}
case WE_CLICK: {
switch(e->click.widget) {
- case 0:
- ResetObjectToPlace();
- break;
- case 3:
- case 4:
- case 5:
- case 6:
+ case 3: case 4: case 5: case 6:
_build_depot_direction = e->click.widget - 3;
SndPlayFx(SND_15_BEEP);
SetWindowDirty(w);
@@ -908,7 +900,8 @@
return;
case WE_DESTROY:
- ResetObjectToPlace();
+ if (!WP(w,def_d).close)
+ ResetObjectToPlace();
break;
}
}
--- a/road_gui.c Sun Jan 23 15:16:47 2005 +0000
+++ b/road_gui.c Sun Jan 23 15:25:17 2005 +0000
@@ -353,14 +353,8 @@
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 @@
break;
case WE_DESTROY:
- ResetObjectToPlace();
+ if (!WP(w,def_d).close)
+ ResetObjectToPlace();
break;
}
}
@@ -436,20 +431,13 @@
} 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 @@
} break;
case WE_DESTROY:
- ResetObjectToPlace();
+ if (!WP(w,def_d).close)
+ ResetObjectToPlace();
break;
}
}