Add regression TestDetachScriptedAttachmentToInventory()

This currently only does a relatively crude check for a ScriptState node in the serialized xml
This commit is contained in:
Justin Clark-Casey (justincc)
2012-07-11 21:43:35 +01:00
parent 14d05dc2a9
commit fc24563206
9 changed files with 151 additions and 32 deletions

View File

@@ -233,17 +233,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
m_Timer[engine].UnSetTimerEvents(localID, itemID);
// Remove from: HttpRequest
IHttpRequestModule iHttpReq =
engine.World.RequestModuleInterface<IHttpRequestModule>();
iHttpReq.StopHttpRequest(localID, itemID);
IHttpRequestModule iHttpReq = engine.World.RequestModuleInterface<IHttpRequestModule>();
if (iHttpReq != null)
iHttpReq.StopHttpRequest(localID, itemID);
IWorldComm comms = engine.World.RequestModuleInterface<IWorldComm>();
if (comms != null)
comms.DeleteListener(itemID);
IXMLRPC xmlrpc = engine.World.RequestModuleInterface<IXMLRPC>();
xmlrpc.DeleteChannels(itemID);
xmlrpc.CancelSRDRequests(itemID);
if (xmlrpc != null)
{
xmlrpc.DeleteChannels(itemID);
xmlrpc.CancelSRDRequests(itemID);
}
// Remove Sensors
m_SensorRepeat[engine].UnSetSenseRepeaterEvents(localID, itemID);
@@ -305,7 +308,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
{
List<Object> data = new List<Object>();
Object[] listeners=m_Listener[engine].GetSerializationData(itemID);
Object[] listeners = m_Listener[engine].GetSerializationData(itemID);
if (listeners.Length > 0)
{
data.Add("listener");

View File

@@ -88,13 +88,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
public Object[] GetSerializationData(UUID itemID)
{
return m_commsPlugin.GetSerializationData(itemID);
if (m_commsPlugin != null)
return m_commsPlugin.GetSerializationData(itemID);
else
return new Object[]{};
}
public void CreateFromData(uint localID, UUID itemID, UUID hostID,
Object[] data)
{
m_commsPlugin.CreateFromData(localID, itemID, hostID, data);
if (m_commsPlugin != null)
m_commsPlugin.CreateFromData(localID, itemID, hostID, data);
}
}
}

View File

@@ -1676,12 +1676,12 @@ namespace OpenSim.Region.ScriptEngine.XEngine
public string GetXMLState(UUID itemID)
{
// m_log.DebugFormat("[XEngine]: Getting XML state for {0}", itemID);
// m_log.DebugFormat("[XEngine]: Getting XML state for script instance {0}", itemID);
IScriptInstance instance = GetInstance(itemID);
if (instance == null)
{
// m_log.DebugFormat("[XEngine]: Found no script for {0}, returning empty string", itemID);
// m_log.DebugFormat("[XEngine]: Found no script instance for {0}, returning empty string", itemID);
return "";
}