Fix a nullref in attachment handling. Add some debug to find the attachment
state issueavinationmerge
parent
af778f09d5
commit
780630d7c0
|
@ -271,7 +271,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
|
|||
if (m_scene.TryGetScenePresence(remoteClient.AgentId, out presence))
|
||||
{
|
||||
InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId);
|
||||
item = m_scene.InventoryService.GetItem(item);
|
||||
if (m_scene.InventoryService != null)
|
||||
item = m_scene.InventoryService.GetItem(item);
|
||||
|
||||
presence.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID /*att.UUID*/);
|
||||
}
|
||||
|
|
|
@ -1628,6 +1628,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
remoteClient.AgentId);
|
||||
AssetService.Store(asset);
|
||||
|
||||
m_log.DebugFormat("[ScriptState]: Saved attachment as asset {0}", asset.FullID);
|
||||
item.AssetID = asset.FullID;
|
||||
item.Description = asset.Description;
|
||||
item.Name = asset.Name;
|
||||
|
|
|
@ -612,6 +612,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
UUID itemid = new UUID(node.Attributes["UUID"].Value);
|
||||
m_savedScriptState.Add(itemid, node.InnerXml);
|
||||
m_log.DebugFormat("[ScriptState]: Retrieved state for script item ID {0}", itemid.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -333,8 +333,10 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (engines == null) // No engine at all
|
||||
return;
|
||||
|
||||
m_log.DebugFormat("[ScriptState]: Item ID changed: {0} to {1}", oldID, newID);
|
||||
if (m_part.ParentGroup.m_savedScriptState.ContainsKey(oldID))
|
||||
{
|
||||
m_log.DebugFormat("[ScriptState]: Found script state for {0}, applying to new script item {1}", oldID, newID);
|
||||
XmlDocument doc = new XmlDocument();
|
||||
|
||||
doc.LoadXml(m_part.ParentGroup.m_savedScriptState[oldID]);
|
||||
|
@ -380,6 +382,10 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
m_part.ParentGroup.m_savedScriptState.Remove(oldID);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_log.DebugFormat("[ScriptState]: No state for old ID {0}", oldID);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
Loading…
Reference in New Issue