diff --git a/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs b/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs
index 0e03318643..7afeeec014 100644
--- a/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs
+++ b/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs
@@ -60,6 +60,11 @@ namespace OpenSim.Region.CoreModules.Media.Moap
public string Name { get { return "MoapModule"; } }
public Type ReplaceableInterface { get { return null; } }
+ ///
+ /// Is this module enabled?
+ ///
+ protected bool m_isEnabled = true;
+
///
/// The scene to which this module is attached
///
@@ -85,13 +90,19 @@ namespace OpenSim.Region.CoreModules.Media.Moap
///
protected Dictionary m_omuCapUrls = new Dictionary();
- public void Initialise(IConfigSource config)
+ public void Initialise(IConfigSource configSource)
{
- // TODO: Add config switches to enable/disable this module
+ IConfig config = configSource.Configs["MediaOnAPrim"];
+
+ if (config != null && !config.GetBoolean("Enabled", false))
+ m_isEnabled = false;
}
public void AddRegion(Scene scene)
{
+ if (!m_isEnabled)
+ return;
+
m_scene = scene;
m_scene.RegisterModuleInterface(this);
}
@@ -100,6 +111,9 @@ namespace OpenSim.Region.CoreModules.Media.Moap
public void RegionLoaded(Scene scene)
{
+ if (!m_isEnabled)
+ return;
+
m_scene.EventManager.OnRegisterCaps += OnRegisterCaps;
m_scene.EventManager.OnDeregisterCaps += OnDeregisterCaps;
m_scene.EventManager.OnSceneObjectLoaded += OnSceneObjectLoaded;
@@ -108,6 +122,9 @@ namespace OpenSim.Region.CoreModules.Media.Moap
public void Close()
{
+ if (!m_isEnabled)
+ return;
+
m_scene.EventManager.OnRegisterCaps -= OnRegisterCaps;
m_scene.EventManager.OnDeregisterCaps -= OnDeregisterCaps;
m_scene.EventManager.OnSceneObjectLoaded -= OnSceneObjectLoaded;
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
index 7f6f851520..982ac523a4 100644
--- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
@@ -401,8 +401,8 @@ namespace OpenSim.Region.CoreModules.World.Permissions
m_moapModule = m_scene.RequestModuleInterface();
// This log line will be commented out when no longer required for debugging
- if (m_moapModule == null)
- m_log.Warn("[PERMISSIONS]: Media on a prim module not found, media on a prim permissions will not work");
+// if (m_moapModule == null)
+// m_log.Warn("[PERMISSIONS]: Media on a prim module not found, media on a prim permissions will not work");
}
public void Close()
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 5dcc601481..54c013a769 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -1245,6 +1245,11 @@
; enabled=false
+[MediaOnAPrim]
+ ; Enable media on a prim facilities
+ Enabled = true;
+
+
;;
;; These are defaults that are overwritten below in [Architecture].
;; These defaults allow OpenSim to work out of the box with