summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorglx <glx@openttd.org>2007-10-17 14:54:18 +0000
committerglx <glx@openttd.org>2007-10-17 14:54:18 +0000
commitb9572bd083d7ede5e893d3616baa54a2f0aea6e0 (patch)
tree26b26cf7f069d7e22709f9ee8f28efb5fc63d8d1 /src
parent5691c77494efc036fe85c65239c73d54110e3e1c (diff)
downloadopenttd-b9572bd083d7ede5e893d3616baa54a2f0aea6e0.tar.xz
(svn r11284) -Codechange: don't reset build industry cursor if it failed
Diffstat (limited to 'src')
-rw-r--r--src/industry_gui.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp
index e38796a5e..98d9b268d 100644
--- a/src/industry_gui.cpp
+++ b/src/industry_gui.cpp
@@ -291,6 +291,7 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
} break;
case WE_PLACE_OBJ: {
+ bool success = true;
/* We do not need to protect ourselves against "Random Many Industries" in this mode */
const IndustrySpec *indsp = GetIndustrySpec(WP(w, fnd_d).select);
@@ -305,17 +306,20 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
_current_player = OWNER_NONE;
_generating_world = true;
_ignore_restrictions = true;
- if (!TryBuildIndustry(e->we.place.tile, WP(w, fnd_d).select)) {
+ success = TryBuildIndustry(e->we.place.tile, WP(w, fnd_d).select);
+ if (!success) {
SetDParam(0, indsp->name);
ShowErrorMessage(_error_message, STR_0285_CAN_T_BUILD_HERE, e->we.place.pt.x, e->we.place.pt.y);
}
_ignore_restrictions = false;
_generating_world = false;
- } else DoCommandP(e->we.place.tile, WP(w, fnd_d).select, 0, NULL, CMD_BUILD_INDUSTRY | CMD_MSG(STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY));
+ } else {
+ success = DoCommandP(e->we.place.tile, WP(w, fnd_d).select, 0, NULL, CMD_BUILD_INDUSTRY | CMD_MSG(STR_4830_CAN_T_CONSTRUCT_THIS_INDUSTRY));
+ }
- /* Whatever the outcome of the actions, just reset the cursor and the system */
- ResetObjectToPlace();
+ /* If an industry has been built, just reset the cursor and the system */
+ if (success) ResetObjectToPlace();
} break;
case WE_TICK: