diff --git a/OpenSim/Region/Environment/LandManagement/Land.cs b/OpenSim/Region/Environment/LandManagement/Land.cs index e9837c0511..bf35b57109 100644 --- a/OpenSim/Region/Environment/LandManagement/Land.cs +++ b/OpenSim/Region/Environment/LandManagement/Land.cs @@ -220,6 +220,11 @@ namespace OpenSim.Region.Environment.LandManagement } } + public void sendLandUpdateToClient(IClientAPI remote_client) + { + sendLandProperties(0, false, 0, remote_client); + } + public void sendLandUpdateToAvatarsOverMe() { List avatars = m_scene.GetAvatars(); @@ -230,7 +235,7 @@ namespace OpenSim.Region.Environment.LandManagement (int) Math.Round(avatars[i].AbsolutePosition.Y)); if (over.landData.localID == landData.localID) { - sendLandProperties(0, false, 0, avatars[i].ControllingClient); + sendLandUpdateToClient(avatars[i].ControllingClient); } } } diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs index 785aafa459..a1cfa8adbf 100644 --- a/OpenSim/Region/Environment/LandManagement/LandManager.cs +++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs @@ -533,17 +533,24 @@ namespace OpenSim.Region.Environment.LandManagement addLandObject(fullSimParcel); } + public void sendLandUpdate(ScenePresence avatar) + { + Land over = getLandObject((int) Math.Round(avatar.AbsolutePosition.X), + (int) Math.Round(avatar.AbsolutePosition.Y)); + + if (over != null) + { + over.sendLandUpdateToClient(avatar.ControllingClient); + } + } public void handleSignificantClientMovement(IClientAPI remote_client) { ScenePresence clientAvatar = m_scene.GetScenePresence(remote_client.AgentId); + if (clientAvatar != null) { - Land over = getLandObject(clientAvatar.AbsolutePosition.X, clientAvatar.AbsolutePosition.Y); - if (over != null) - { - over.sendLandProperties(0, false, 0, remote_client); - } + sendLandUpdate(clientAvatar); } } diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 8d326cff3c..763be035bc 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs @@ -281,6 +281,8 @@ namespace OpenSim.Region.Environment.Scenes { //do we need to use newAvatar? not sure so have added this to kill the compile warning } + + m_scene.LandManager.sendLandUpdate(this); } #endregion