aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorDr Scofield2008-11-14 10:55:14 +0000
committerDr Scofield2008-11-14 10:55:14 +0000
commit5e20e32b6993a79f8f31cb12882b9c4499140275 (patch)
tree8620c9dbaec8e4c973334511f5d3ebc98389a3d8 /OpenSim/Region/ScriptEngine
parentFrom: Alan Webb (alan_webb@us.ibm.com) (diff)
downloadopensim-SC-5e20e32b6993a79f8f31cb12882b9c4499140275.zip
opensim-SC-5e20e32b6993a79f8f31cb12882b9c4499140275.tar.gz
opensim-SC-5e20e32b6993a79f8f31cb12882b9c4499140275.tar.bz2
opensim-SC-5e20e32b6993a79f8f31cb12882b9c4499140275.tar.xz
From: Christopher Yeoh <cyeoh@au1.ibm.com>
This patch makes llAllowInventoryDrop work with the permissions module enabled. Changes include: - Enabled PropagatePermissions when permissions module serverside perms is on - change ownership of item when item is dropped into an object. Ownership changes to the owner of the object the item is dropped into - propagation of permissions if the permissions module enabled (eg next-owner mask applied) - CHANGED_ALLOWED_DROP is now passed to the change script event if an item was allowed to be dropped into the object only because llAllowInventoryDrop is enabled (instead of CHANGED_INVENTORY being passed). - Sets object flags correctly when llAllowInventoryDrop is called so clients are notified immediately of the change in state. Am not sure that calling aggregateScriptEvents is the right way to do it, but it works and seems to be the only way without making further changes to update LocalFlags
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs3
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs2
2 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index ab7b710..c1d718e 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -4006,6 +4006,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4006 m_host.ParentGroup.RootPart.AllowedDrop = true; 4006 m_host.ParentGroup.RootPart.AllowedDrop = true;
4007 else 4007 else
4008 m_host.ParentGroup.RootPart.AllowedDrop = false; 4008 m_host.ParentGroup.RootPart.AllowedDrop = false;
4009
4010 // Update the object flags
4011 m_host.ParentGroup.RootPart.aggregateScriptEvents();
4009 } 4012 }
4010 4013
4011 public LSL_Vector llGetSunDirection() 4014 public LSL_Vector llGetSunDirection()
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index f9302e9..8cac070 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -1014,7 +1014,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1014 taskItem.PermsMask = 0; 1014 taskItem.PermsMask = 0;
1015 taskItem.AssetID = asset.FullID; 1015 taskItem.AssetID = asset.FullID;
1016 1016
1017 m_host.AddInventoryItem(taskItem); 1017 m_host.AddInventoryItem(taskItem, false);
1018 } 1018 }
1019 } 1019 }
1020} 1020}