From 819fe96503c472bace0c5496f03f1146b4246509 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 12 Dec 2015 17:32:59 +0000 Subject: invalidate LandPoint on land subdivide --- .../Region/CoreModules/World/Land/LandManagementModule.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs') diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index ad6793f..084fadf 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs @@ -980,8 +980,14 @@ namespace OpenSim.Region.CoreModules.World.Land return; } - //Lets create a new land object with bitmap activated at that point (keeping the old land objects info) + // invalidate landing point + startLandObject.LandData.LandingType = (byte)LandingType.None; + startLandObject.LandData.UserLocation = Vector3.Zero; + startLandObject.LandData.UserLookAt = Vector3.Zero; + + //Lets create a new land object with bitmap activated at that point (keeping the old land objects info) ILandObject newLand = startLandObject.Copy(); + newLand.LandData.Name = newLand.LandData.Name; newLand.LandData.GlobalID = UUID.Random(); newLand.LandData.Dwell = 0; @@ -990,7 +996,7 @@ namespace OpenSim.Region.CoreModules.World.Land newLand.SetLandBitmap(newLand.GetSquareLandBitmap(start_x, start_y, end_x, end_y)); - //Now, lets set the subdivision area of the original to false + //lets set the subdivision area of the original to false int startLandObjectIndex = startLandObject.LandData.LocalID; lock (m_landList) { @@ -999,7 +1005,7 @@ namespace OpenSim.Region.CoreModules.World.Land m_landList[startLandObjectIndex].ForceUpdateLandInfo(); } - //Now add the new land object + //add the new land object ILandObject result = AddLandObject(newLand); UpdateLandObject(startLandObject.LandData.LocalID, startLandObject.LandData); -- cgit v1.1