Fix interface registration/deregistration mechanics
parent
55dd6d4334
commit
88371e4f98
|
@ -107,6 +107,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.User
|
||||||
{
|
{
|
||||||
if (!m_Enabled)
|
if (!m_Enabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
scene.RegisterModuleInterface<IUserService>(m_UserService);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveRegion(Scene scene)
|
public void RemoveRegion(Scene scene)
|
||||||
|
|
|
@ -368,11 +368,17 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// <param name="mod"></param>
|
/// <param name="mod"></param>
|
||||||
public void RegisterModuleInterface<M>(M mod)
|
public void RegisterModuleInterface<M>(M mod)
|
||||||
{
|
{
|
||||||
if (!ModuleInterfaces.ContainsKey(typeof(M)))
|
List<Object> l = null;
|
||||||
|
if (!ModuleInterfaces.TryGetValue(typeof(M), out l))
|
||||||
{
|
{
|
||||||
List<Object> l = new List<Object>();
|
l = new List<Object>();
|
||||||
l.Add(mod);
|
|
||||||
ModuleInterfaces.Add(typeof(M), l);
|
ModuleInterfaces.Add(typeof(M), l);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (l.Count > 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
l.Add(mod);
|
||||||
|
|
||||||
if (mod is IEntityCreator)
|
if (mod is IEntityCreator)
|
||||||
{
|
{
|
||||||
|
@ -383,7 +389,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void UnregisterModuleInterface<M>(M mod)
|
public void UnregisterModuleInterface<M>(M mod)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue