From d3911606ef7bf1335eb4ef01fc6f9d2171daf094 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Thu, 12 Nov 2015 20:34:09 +0100 Subject: [PATCH] Move a call to RequestModuleInterface to a new scene callback function because the current implementation would have always returned null --- .../RegionModulesControllerPlugin.cs | 2 ++ OpenSim/Region/Framework/Scenes/Scene.cs | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs b/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs index 17edb67d18..8f38a2978b 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 4e629dafc9..32b45ac85f 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; }