(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).

This commit is contained in:
darkvater 2005-01-23 15:25:17 +00:00
parent 53d1c3f117
commit 1a92141896
4 changed files with 20 additions and 44 deletions

View File

@ -179,9 +179,6 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
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 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
} break;
case WE_DESTROY:
ResetObjectToPlace();
if (!WP(w,def_d).close)
ResetObjectToPlace();
break;
}
}

View File

@ -234,9 +234,6 @@ static void BuildDockStationWndProc(Window *w, WindowEvent *e)
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 @@ static void BuildDockStationWndProc(Window *w, WindowEvent *e)
}
case WE_DESTROY:
ResetObjectToPlace();
if (!WP(w,def_d).close)
ResetObjectToPlace();
break;
}
}
@ -307,9 +305,6 @@ static void BuildDocksDepotWndProc(Window *w, WindowEvent *e)
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 @@ static void BuildDocksDepotWndProc(Window *w, WindowEvent *e)
break;
case WE_DESTROY:
ResetObjectToPlace();
if (!WP(w,def_d).close)
ResetObjectToPlace();
break;
}
}

View File

@ -761,9 +761,6 @@ static void StationBuildWndProc(Window *w, WindowEvent *e) {
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 @@ static void StationBuildWndProc(Window *w, WindowEvent *e) {
} break;
case WE_DESTROY:
ResetObjectToPlace();
if (!WP(w,def_d).close)
ResetObjectToPlace();
break;
}
}
@ -888,13 +886,7 @@ static void BuildTrainDepotWndProc(Window *w, WindowEvent *e)
}
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 @@ static void BuildTrainDepotWndProc(Window *w, WindowEvent *e)
return;
case WE_DESTROY:
ResetObjectToPlace();
if (!WP(w,def_d).close)
ResetObjectToPlace();
break;
}
}

View File

@ -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;
}
}