mirror of
https://github.com/opensim/opensim.git
synced 2026-08-10 19:36:07 +08:00
When detaching a scripted item, always consider it modified. Script states
will have changed and for real usability, we need to save it. It bloats assets, but that can't be avoided.
This commit is contained in:
@@ -527,10 +527,16 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
||||
/// <param name="grp"></param>
|
||||
/// <param name="itemID"></param>
|
||||
/// <param name="agentID"></param>
|
||||
protected void UpdateKnownItem(IClientAPI remoteClient, SceneObjectGroup grp, UUID itemID, UUID agentID)
|
||||
public void UpdateKnownItem(IClientAPI remoteClient, SceneObjectGroup grp, UUID itemID, UUID agentID)
|
||||
{
|
||||
if (grp != null)
|
||||
{
|
||||
// If an item contains scripts, it's always changed.
|
||||
// This ensures script state is saved on detach
|
||||
foreach (SceneObjectPart p in grp.Parts)
|
||||
if (p.Inventory.ContainsScripts())
|
||||
grp.HasGroupChanged = true;
|
||||
|
||||
if (!grp.HasGroupChanged)
|
||||
{
|
||||
m_log.WarnFormat("[ATTACHMENTS MODULE]: Save request for {0} which is unchanged", grp.UUID);
|
||||
|
||||
@@ -133,5 +133,7 @@ namespace OpenSim.Region.Framework.Interfaces
|
||||
/// <param name="sog"></param>
|
||||
/// <param name="pos"></param>
|
||||
void UpdateAttachmentPosition(IClientAPI client, SceneObjectGroup sog, Vector3 pos);
|
||||
|
||||
void UpdateKnownItem(IClientAPI remoteClient, SceneObjectGroup grp, UUID itemID, UUID agentID);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user