diff options
-rw-r--r-- | OpenSim/Framework/TaskInventoryItem.cs | 11 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | 7 |
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 | } |