(svn r11284) -Codechange: don't reset build industry cursor if it failed
authorglx
Wed, 17 Oct 2007 14:54:18 +0000
changeset 8243 7af75c16f4ea
parent 8242 5178a27b2275
child 8244 e23cac10e7fd
(svn r11284) -Codechange: don't reset build industry cursor if it failed
src/industry_gui.cpp
--- a/src/industry_gui.cpp	Wed Oct 17 02:50:18 2007 +0000
+++ b/src/industry_gui.cpp	Wed Oct 17 14:54:18 2007 +0000
@@ -291,6 +291,7 @@
 		} 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 @@
 				_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: