aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie2010-05-03 01:14:38 +0100
committerMelanie2010-05-03 01:14:38 +0100
commit45301d8a4984b0a6e5e5df4741175ce81729810d (patch)
tree597e417c113281f72f175496d8a52ee817306887
parentAdd URL_REQUEST_* script constants (diff)
downloadopensim-SC-45301d8a4984b0a6e5e5df4741175ce81729810d.zip
opensim-SC-45301d8a4984b0a6e5e5df4741175ce81729810d.tar.gz
opensim-SC-45301d8a4984b0a6e5e5df4741175ce81729810d.tar.bz2
opensim-SC-45301d8a4984b0a6e5e5df4741175ce81729810d.tar.xz
Defer sending of CHANGED_OWNER to make it work on rezzed objects and
attachments in addition to objects sold in place
-rw-r--r--OpenSim/Framework/TaskInventoryItem.cs11
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs7
2 files changed, 15 insertions, 3 deletions
diff --git a/OpenSim/Framework/TaskInventoryItem.cs b/OpenSim/Framework/TaskInventoryItem.cs
index 2b0096b..2cb7895 100644
--- a/OpenSim/Framework/TaskInventoryItem.cs
+++ b/OpenSim/Framework/TaskInventoryItem.cs
@@ -122,6 +122,8 @@ namespace OpenSim.Framework
122 private int _type = 0; 122 private int _type = 0;
123 private UUID _oldID; 123 private UUID _oldID;
124 124
125 private bool _ownerChanged = false;
126
125 public UUID AssetID { 127 public UUID AssetID {
126 get { 128 get {
127 return _assetID; 129 return _assetID;
@@ -320,6 +322,15 @@ namespace OpenSim.Framework
320 } 322 }
321 } 323 }
322 324
325 public bool OwnerChanged {
326 get {
327 return _ownerChanged;
328 }
329 set {
330 _ownerChanged = value;
331 }
332 }
333
323 // See ICloneable 334 // See ICloneable
324 335
325 #region ICloneable Members 336 #region ICloneable Members
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index 4da63c0..eea73ff 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -955,10 +955,9 @@ namespace OpenSim.Region.Framework.Scenes
955 item.CurrentPermissions &= item.NextPermissions; 955 item.CurrentPermissions &= item.NextPermissions;
956 item.BasePermissions &= item.NextPermissions; 956 item.BasePermissions &= item.NextPermissions;
957 item.EveryonePermissions &= item.NextPermissions; 957 item.EveryonePermissions &= item.NextPermissions;
958 item.OwnerChanged = true;
958 } 959 }
959 } 960 }
960
961 m_part.TriggerScriptChangedEvent(Changed.OWNER);
962 } 961 }
963 962
964 public void ApplyGodPermissions(uint perms) 963 public void ApplyGodPermissions(uint perms)
@@ -1042,7 +1041,6 @@ namespace OpenSim.Region.Framework.Scenes
1042 if (engines == null) 1041 if (engines == null)
1043 return; 1042 return;
1044 1043
1045
1046 lock (m_items) 1044 lock (m_items)
1047 { 1045 {
1048 foreach (TaskInventoryItem item in m_items.Values) 1046 foreach (TaskInventoryItem item in m_items.Values)
@@ -1052,7 +1050,10 @@ namespace OpenSim.Region.Framework.Scenes
1052 foreach (IScriptModule engine in engines) 1050 foreach (IScriptModule engine in engines)
1053 { 1051 {
1054 if (engine != null) 1052 if (engine != null)
1053 {
1054 engine.PostScriptEvent(item.ItemID, "changed", new Object[] { Changed.OWNER });
1055 engine.ResumeScript(item.ItemID); 1055 engine.ResumeScript(item.ItemID);
1056 }
1056 } 1057 }
1057 } 1058 }
1058 } 1059 }