From d3911606ef7bf1335eb4ef01fc6f9d2171daf094 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Thu, 12 Nov 2015 20:34:09 +0100
Subject: Move a call to RequestModuleInterface to a new scene callback
function because the current implementation would have always returned null
---
.../RegionModulesController/RegionModulesControllerPlugin.cs | 2 ++
OpenSim/Region/Framework/Scenes/Scene.cs | 10 +++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
(limited to 'OpenSim')
diff --git a/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs b/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs
index 17edb67..8f38a29 100644
--- a/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs
+++ b/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs
@@ -509,6 +509,8 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
{
module.RegionLoaded(scene);
}
+
+ scene.AllModulesLoaded();
}
public void RemoveRegionFromModules (Scene scene)
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 4e629da..32b45ac 100755
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -1243,13 +1243,21 @@ namespace OpenSim.Region.Framework.Scenes
get { return m_sceneGraph; }
}
- protected virtual void RegisterDefaultSceneEvents()
+ ///
+ /// Called by the module loader when all modules are loaded, after each module's
+ /// RegionLoaded hook is called. This is the earliest time where RequestModuleInterface
+ /// may be used.
+ ///
+ public void AllModulesLoaded()
{
IDialogModule dm = RequestModuleInterface();
if (dm != null)
m_eventManager.OnPermissionError += dm.SendAlertToUser;
+ }
+ protected virtual void RegisterDefaultSceneEvents()
+ {
m_eventManager.OnSignificantClientMovement += HandleOnSignificantClientMovement;
}
--
cgit v1.1