diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index c34fb930d9..62a97e57b2 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -229,7 +229,7 @@ namespace OpenSim.Framework
public delegate void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 pos);
public delegate void ModifyTerrain(
- float height, float seconds, byte size, byte action, float north, float west, IClientAPI remoteClient);
+ float height, float seconds, byte size, byte action, float north, float west, float south, float east, IClientAPI remoteClient);
public delegate void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam);
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index dffcd7338d..065e5e011a 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -2453,10 +2453,13 @@ namespace OpenSim.Region.ClientStack
{
if (OnModifyTerrain != null)
{
- OnModifyTerrain(modify.ModifyBlock.Height, modify.ModifyBlock.Seconds,
- modify.ModifyBlock.BrushSize,
- modify.ModifyBlock.Action, modify.ParcelData[0].North,
- modify.ParcelData[0].West, this);
+ for (int i=0; i < modify.ParcelData.Length; i++)
+ {
+ OnModifyTerrain(modify.ModifyBlock.Height, modify.ModifyBlock.Seconds,
+ modify.ModifyBlock.BrushSize,
+ modify.ModifyBlock.Action, modify.ParcelData[i].North,
+ modify.ParcelData[i].West, modify.ParcelData[i].South, modify.ParcelData[i].East, this);
+ }
}
}
break;
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
index 07e5362e40..ce775278b6 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
@@ -45,7 +45,7 @@ namespace OpenSim.Region.Environment.Scenes
/// The action to be performed
/// Distance from the north border where the cursor is located
/// Distance from the west border where the cursor is located
- public void ModifyTerrain(float height, float seconds, byte brushsize, byte action, float north, float west,
+ public void ModifyTerrain(float height, float seconds, byte brushsize, byte action, float north, float west, float south, float east,
IClientAPI remoteUser)
{
// Do a permissions check before allowing terraforming.