aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Framework/TaskInventoryItem.cs11
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs3
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs7
3 files changed, 18 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/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 61a2956..3e4694a 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -4522,6 +4522,7 @@ namespace OpenSim.Region.Framework.Scenes
4522 foreach (SceneObjectPart child in partList) 4522 foreach (SceneObjectPart child in partList)
4523 { 4523 {
4524 child.Inventory.ChangeInventoryOwner(remoteClient.AgentId); 4524 child.Inventory.ChangeInventoryOwner(remoteClient.AgentId);
4525 child.TriggerScriptChangedEvent(Changed.OWNER);
4525 child.ApplyNextOwnerPermissions(); 4526 child.ApplyNextOwnerPermissions();
4526 } 4527 }
4527 } 4528 }
@@ -4531,6 +4532,8 @@ namespace OpenSim.Region.Framework.Scenes
4531 4532
4532 group.HasGroupChanged = true; 4533 group.HasGroupChanged = true;
4533 part.GetProperties(remoteClient); 4534 part.GetProperties(remoteClient);
4535 part.TriggerScriptChangedEvent(Changed.OWNER);
4536 group.ResumeScripts();
4534 part.ScheduleFullUpdate(); 4537 part.ScheduleFullUpdate();
4535 4538
4536 break; 4539 break;
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 }