--- a/rts/Game/WebbarBrowser.h +++ b/rts/Game/WebbarBrowser.h @@ -369,9 +369,12 @@ status = 3; } else { BuildInfo build(def, buildPos, (order.options >> 8) & 3); - build.pos = buildPos = CGameHelper::Pos2BuildPos(build, true); + // This is local UI admission, like GuiHandler. Synced placement + // testing updates nearby units' blocking maps and must only run + // during native execution of the command on every peer. + build.pos = buildPos = CGameHelper::Pos2BuildPos(build, false); CFeature* feature = nullptr; - if (CGameHelper::TestUnitBuildSquare(build, feature, gu->myAllyTeam, true) == CGameHelper::BUILDSQUARE_BLOCKED) status = 7; + if (CGameHelper::TestUnitBuildSquare(build, feature, gu->myAllyTeam, false) == CGameHelper::BUILDSQUARE_BLOCKED) status = 7; command = build.CreateCommand(uint8_t(order.options & SHIFT_KEY)); } }