aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-07-11 21:43:35 +0100
committerJustin Clark-Casey (justincc)2012-07-11 21:43:35 +0100
commitfc2456320646df66b95a06d4cd292c3b2385a8ea (patch)
treec1f7eaf2c679a9e7d039240146510ffc6a744cd1 /OpenSim/Region/ScriptEngine
parentAdd regression TestRezScriptedAttachmentsFromInventory() though this currentl... (diff)
downloadopensim-SC-fc2456320646df66b95a06d4cd292c3b2385a8ea.zip
opensim-SC-fc2456320646df66b95a06d4cd292c3b2385a8ea.tar.gz
opensim-SC-fc2456320646df66b95a06d4cd292c3b2385a8ea.tar.bz2
opensim-SC-fc2456320646df66b95a06d4cd292c3b2385a8ea.tar.xz
Add regression TestDetachScriptedAttachmentToInventory()
This currently only does a relatively crude check for a ScriptState node in the serialized xml
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs15
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Listener.cs8
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/XEngine.cs4
3 files changed, 17 insertions, 10 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
index 993d10f..5b22860 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
@@ -233,17 +233,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
233 m_Timer[engine].UnSetTimerEvents(localID, itemID); 233 m_Timer[engine].UnSetTimerEvents(localID, itemID);
234 234
235 // Remove from: HttpRequest 235 // Remove from: HttpRequest
236 IHttpRequestModule iHttpReq = 236 IHttpRequestModule iHttpReq = engine.World.RequestModuleInterface<IHttpRequestModule>();
237 engine.World.RequestModuleInterface<IHttpRequestModule>(); 237 if (iHttpReq != null)
238 iHttpReq.StopHttpRequest(localID, itemID); 238 iHttpReq.StopHttpRequest(localID, itemID);
239 239
240 IWorldComm comms = engine.World.RequestModuleInterface<IWorldComm>(); 240 IWorldComm comms = engine.World.RequestModuleInterface<IWorldComm>();
241 if (comms != null) 241 if (comms != null)
242 comms.DeleteListener(itemID); 242 comms.DeleteListener(itemID);
243 243
244 IXMLRPC xmlrpc = engine.World.RequestModuleInterface<IXMLRPC>(); 244 IXMLRPC xmlrpc = engine.World.RequestModuleInterface<IXMLRPC>();
245 xmlrpc.DeleteChannels(itemID); 245 if (xmlrpc != null)
246 xmlrpc.CancelSRDRequests(itemID); 246 {
247 xmlrpc.DeleteChannels(itemID);
248 xmlrpc.CancelSRDRequests(itemID);
249 }
247 250
248 // Remove Sensors 251 // Remove Sensors
249 m_SensorRepeat[engine].UnSetSenseRepeaterEvents(localID, itemID); 252 m_SensorRepeat[engine].UnSetSenseRepeaterEvents(localID, itemID);
@@ -305,7 +308,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
305 { 308 {
306 List<Object> data = new List<Object>(); 309 List<Object> data = new List<Object>();
307 310
308 Object[] listeners=m_Listener[engine].GetSerializationData(itemID); 311 Object[] listeners = m_Listener[engine].GetSerializationData(itemID);
309 if (listeners.Length > 0) 312 if (listeners.Length > 0)
310 { 313 {
311 data.Add("listener"); 314 data.Add("listener");
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Listener.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Listener.cs
index 93e0261..efa86fc 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Listener.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/Listener.cs
@@ -88,13 +88,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
88 88
89 public Object[] GetSerializationData(UUID itemID) 89 public Object[] GetSerializationData(UUID itemID)
90 { 90 {
91 return m_commsPlugin.GetSerializationData(itemID); 91 if (m_commsPlugin != null)
92 return m_commsPlugin.GetSerializationData(itemID);
93 else
94 return new Object[]{};
92 } 95 }
93 96
94 public void CreateFromData(uint localID, UUID itemID, UUID hostID, 97 public void CreateFromData(uint localID, UUID itemID, UUID hostID,
95 Object[] data) 98 Object[] data)
96 { 99 {
97 m_commsPlugin.CreateFromData(localID, itemID, hostID, data); 100 if (m_commsPlugin != null)
101 m_commsPlugin.CreateFromData(localID, itemID, hostID, data);
98 } 102 }
99 } 103 }
100} \ No newline at end of file 104} \ No newline at end of file
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index efcae94..e07ae1c 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -1676,12 +1676,12 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1676 1676
1677 public string GetXMLState(UUID itemID) 1677 public string GetXMLState(UUID itemID)
1678 { 1678 {
1679// m_log.DebugFormat("[XEngine]: Getting XML state for {0}", itemID); 1679// m_log.DebugFormat("[XEngine]: Getting XML state for script instance {0}", itemID);
1680 1680
1681 IScriptInstance instance = GetInstance(itemID); 1681 IScriptInstance instance = GetInstance(itemID);
1682 if (instance == null) 1682 if (instance == null)
1683 { 1683 {
1684// m_log.DebugFormat("[XEngine]: Found no script for {0}, returning empty string", itemID); 1684// m_log.DebugFormat("[XEngine]: Found no script instance for {0}, returning empty string", itemID);
1685 return ""; 1685 return "";
1686 } 1686 }
1687 1687