change llResetLand*List with ideas on mantis 9075

UbitUmarov [2023-05-08 20:22:12]
change llResetLand*List with ideas on mantis 9075
Filename
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 6953929..783c945 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -14001,7 +14001,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
             // Partial implementation: support for parameter flags needed
             //   see http://wiki.secondlife.com/wiki/llHTTPResponse

-            m_UrlModule?.HttpResponse(new UUID(id), status,body);
+            m_UrlModule?.HttpResponse(new UUID(id), status, body);
         }

         public void llResetLandBanList()
@@ -14010,14 +14010,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
             if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, parcel, GroupPowers.LandManageBanned, false))
             {
                 LandData land = parcel.LandData;
-                var todelete = new List<LandAccessEntry>();
+                var tokeep = new List<LandAccessEntry>();
                 foreach (LandAccessEntry entry in land.ParcelAccessList)
                 {
-                    if (entry.Flags == AccessList.Ban)
-                        todelete.Add(entry);
+                    if (entry.Flags != AccessList.Ban)
+                        tokeep.Add(entry);
                 }
-                foreach (LandAccessEntry entry in todelete)
-                    land.ParcelAccessList.Remove(entry);
+                land.ParcelAccessList = tokeep;
                 land.Flags &= ~(uint)ParcelFlags.UseBanList;
             }
             ScriptSleep(m_sleepMsOnResetLandBanList);
@@ -14029,14 +14028,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
             if (World.Permissions.CanEditParcelProperties(m_host.OwnerID, parcel, GroupPowers.LandManagePasses, false))
             {
                 LandData land = parcel.LandData;
-                var todelete = new List<LandAccessEntry>();
+                var tokeep = new List<LandAccessEntry>();
                 foreach (LandAccessEntry entry in land.ParcelAccessList)
                 {
-                    if (entry.Flags == AccessList.Access)
-                        todelete.Add(entry);
+                    if (entry.Flags != AccessList.Access)
+                        tokeep.Add(entry);
                 }
-                foreach (LandAccessEntry entry in todelete)
-                    land.ParcelAccessList.Remove(entry);
+                land.ParcelAccessList = tokeep;
                 land.Flags &= ~(uint)ParcelFlags.UsePassList;
             }
             ScriptSleep(m_sleepMsOnResetLandPassList);
ViewGit