Defer sending of CHANGED_OWNER to make it work on rezzed objects and

attachments in addition to objects sold in place
slimupdates
Melanie 2010-05-03 01:14:38 +01:00
parent af0ffb2a5a
commit 45301d8a49
2 changed files with 15 additions and 3 deletions

View File

@ -122,6 +122,8 @@ namespace OpenSim.Framework
private int _type = 0; private int _type = 0;
private UUID _oldID; private UUID _oldID;
private bool _ownerChanged = false;
public UUID AssetID { public UUID AssetID {
get { get {
return _assetID; return _assetID;
@ -320,6 +322,15 @@ namespace OpenSim.Framework
} }
} }
public bool OwnerChanged {
get {
return _ownerChanged;
}
set {
_ownerChanged = value;
}
}
// See ICloneable // See ICloneable
#region ICloneable Members #region ICloneable Members

View File

@ -955,10 +955,9 @@ namespace OpenSim.Region.Framework.Scenes
item.CurrentPermissions &= item.NextPermissions; item.CurrentPermissions &= item.NextPermissions;
item.BasePermissions &= item.NextPermissions; item.BasePermissions &= item.NextPermissions;
item.EveryonePermissions &= item.NextPermissions; item.EveryonePermissions &= item.NextPermissions;
item.OwnerChanged = true;
} }
} }
m_part.TriggerScriptChangedEvent(Changed.OWNER);
} }
public void ApplyGodPermissions(uint perms) public void ApplyGodPermissions(uint perms)
@ -1042,7 +1041,6 @@ namespace OpenSim.Region.Framework.Scenes
if (engines == null) if (engines == null)
return; return;
lock (m_items) lock (m_items)
{ {
foreach (TaskInventoryItem item in m_items.Values) foreach (TaskInventoryItem item in m_items.Values)
@ -1052,7 +1050,10 @@ namespace OpenSim.Region.Framework.Scenes
foreach (IScriptModule engine in engines) foreach (IScriptModule engine in engines)
{ {
if (engine != null) if (engine != null)
{
engine.PostScriptEvent(item.ItemID, "changed", new Object[] { Changed.OWNER });
engine.ResumeScript(item.ItemID); engine.ResumeScript(item.ItemID);
}
} }
} }
} }