Fix the fetching of module references in the viewer support modules.

Remove the detachment of attachments in camera-only, because it doesn't work for HG people, and it's too drastic of a move.
mb-throttle-test
Diva Canto 2014-11-11 20:42:13 -08:00
parent 89cb07eb49
commit 32293cfd6b
3 changed files with 15 additions and 9 deletions

View File

@ -95,8 +95,6 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport
if (m_Enabled)
{
m_scene = scene;
IEntityTransferModule et = m_scene.RequestModuleInterface<IEntityTransferModule>();
m_Helper = new SimulatorFeaturesHelper(scene, et);
//m_scene.EventManager.OnMakeRootAgent += (OnMakeRootAgent);
}
}
@ -110,9 +108,11 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport
{
if (m_Enabled)
{
ISimulatorFeaturesModule featuresModule = m_scene.RequestModuleInterface<ISimulatorFeaturesModule>();
IEntityTransferModule et = m_scene.RequestModuleInterface<IEntityTransferModule>();
m_Helper = new SimulatorFeaturesHelper(scene, et);
if (featuresModule != null && m_Enabled)
ISimulatorFeaturesModule featuresModule = m_scene.RequestModuleInterface<ISimulatorFeaturesModule>();
if (featuresModule != null)
featuresModule.OnSimulatorFeaturesRequest += OnSimulatorFeaturesRequest;
}
}
@ -138,7 +138,10 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport
}
extrasMap["camera-only-mode"] = OSDMap.FromString("true");
m_log.DebugFormat("[CAMERA-ONLY MODE]: Sent in {0}", m_scene.RegionInfo.RegionName);
Util.FireAndForget(delegate { DetachAttachments(agentID); });
// Detaching attachments doesn't work for HG visitors,
// so I'm giving that up.
//Util.FireAndForget(delegate { DetachAttachments(agentID); });
}
else
m_log.DebugFormat("[CAMERA-ONLY MODE]: NOT Sending camera-only-mode in {0}", m_scene.RegionInfo.RegionName);

View File

@ -101,6 +101,7 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport
if (client != null)
{
ScenePresence sp = WaitGetScenePresence(agentID);
if (sp == null) // Client is connected but SP still doesn't exist: this may happen on login
{
m_log.DebugFormat("[XXX]: SP is null");
@ -123,11 +124,13 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport
rsend.send = true;
else
m_log.DebugFormat("[XXX]: Child or in transit");
}
}
else
m_log.DebugFormat("[XXX]: client is null");
if (rsendlist == null)
{
rsendlist = new List<RegionSend>();

View File

@ -95,8 +95,6 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport
if (m_Enabled)
{
m_scene = scene;
IEntityTransferModule et = m_scene.RequestModuleInterface<IEntityTransferModule>();
m_Helper = new SimulatorFeaturesHelper(scene, et);
}
}
@ -104,9 +102,11 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport
{
if (m_Enabled)
{
ISimulatorFeaturesModule featuresModule = m_scene.RequestModuleInterface<ISimulatorFeaturesModule>();
IEntityTransferModule et = m_scene.RequestModuleInterface<IEntityTransferModule>();
m_Helper = new SimulatorFeaturesHelper(scene, et);
if (featuresModule != null && m_Enabled)
ISimulatorFeaturesModule featuresModule = m_scene.RequestModuleInterface<ISimulatorFeaturesModule>();
if (featuresModule != null)
featuresModule.OnSimulatorFeaturesRequest += OnSimulatorFeaturesRequest;
}
}