diff options
author | Melanie | 2010-05-03 01:14:38 +0100 |
---|---|---|
committer | Melanie | 2010-05-03 01:14:38 +0100 |
commit | 45301d8a4984b0a6e5e5df4741175ce81729810d (patch) | |
tree | 597e417c113281f72f175496d8a52ee817306887 | |
parent | Add URL_REQUEST_* script constants (diff) | |
download | opensim-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.cs | 11 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | 7 |
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 | } |