diff options
3 files changed, 33 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/PresenceModule.cs b/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/PresenceModule.cs index 439b082..48c7717 100644 --- a/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/PresenceModule.cs +++ b/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/PresenceModule.cs | |||
@@ -75,7 +75,12 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage | |||
75 | 75 | ||
76 | if (m_Gridmode) | 76 | if (m_Gridmode) |
77 | NotifyMessageServerOfStartup(scene); | 77 | NotifyMessageServerOfStartup(scene); |
78 | |||
78 | scene.RegisterModuleInterface<IPresenceModule>(this); | 79 | scene.RegisterModuleInterface<IPresenceModule>(this); |
80 | |||
81 | scene.EventManager.OnNewClient += OnNewClient; | ||
82 | scene.EventManager.OnSetRootAgentScene += OnSetRootAgentScene; | ||
83 | |||
79 | m_Scenes.Add(scene); | 84 | m_Scenes.Add(scene); |
80 | } | 85 | } |
81 | } | 86 | } |
@@ -107,6 +112,19 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage | |||
107 | { | 112 | { |
108 | } | 113 | } |
109 | 114 | ||
115 | public void OnNewClient(IClientAPI client) | ||
116 | { | ||
117 | client.OnConnectionClosed += OnConnectionClosed; | ||
118 | } | ||
119 | |||
120 | public void OnConnectionClosed(IClientAPI client) | ||
121 | { | ||
122 | } | ||
123 | |||
124 | public void OnSetRootAgentScene(UUID agentID) | ||
125 | { | ||
126 | } | ||
127 | |||
110 | private void NotifyMessageServerOfStartup(Scene scene) | 128 | private void NotifyMessageServerOfStartup(Scene scene) |
111 | { | 129 | { |
112 | Hashtable xmlrpcdata = new Hashtable(); | 130 | Hashtable xmlrpcdata = new Hashtable(); |
diff --git a/OpenSim/Region/Environment/Scenes/EventManager.cs b/OpenSim/Region/Environment/Scenes/EventManager.cs index bcefe37..cdaff51 100644 --- a/OpenSim/Region/Environment/Scenes/EventManager.cs +++ b/OpenSim/Region/Environment/Scenes/EventManager.cs | |||
@@ -98,6 +98,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
98 | 98 | ||
99 | public delegate void OnPermissionErrorDelegate(UUID user, string reason); | 99 | public delegate void OnPermissionErrorDelegate(UUID user, string reason); |
100 | 100 | ||
101 | public delegate void OnSetRootAgentSceneDelegate(UUID agentID); | ||
102 | |||
103 | public event OnSetRootAgentSceneDelegate OnSetRootAgentScene; | ||
104 | |||
101 | public event ObjectGrabDelegate OnObjectGrab; | 105 | public event ObjectGrabDelegate OnObjectGrab; |
102 | public event ObjectDeGrabDelegate OnObjectDeGrab; | 106 | public event ObjectDeGrabDelegate OnObjectDeGrab; |
103 | public event ScriptResetDelegate OnScriptReset; | 107 | public event ScriptResetDelegate OnScriptReset; |
@@ -389,6 +393,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
389 | private GetScriptRunning handlerGetScriptRunning = null; | 393 | private GetScriptRunning handlerGetScriptRunning = null; |
390 | 394 | ||
391 | private SunLindenHour handlerSunGetLindenHour = null; | 395 | private SunLindenHour handlerSunGetLindenHour = null; |
396 | private OnSetRootAgentSceneDelegate handlerSetRootAgentScene = null; | ||
397 | |||
392 | 398 | ||
393 | public void TriggerGetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID) | 399 | public void TriggerGetScriptRunning(IClientAPI controllingClient, UUID objectID, UUID itemID) |
394 | { | 400 | { |
@@ -912,5 +918,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
912 | if (handlerCollidingEnd != null) | 918 | if (handlerCollidingEnd != null) |
913 | handlerCollidingEnd(localId, colliders); | 919 | handlerCollidingEnd(localId, colliders); |
914 | } | 920 | } |
921 | |||
922 | public void TriggerSetRootAgentScene(UUID agentID) | ||
923 | { | ||
924 | handlerSetRootAgentScene = OnSetRootAgentScene; | ||
925 | if (handlerSetRootAgentScene != null) | ||
926 | handlerSetRootAgentScene(agentID); | ||
927 | } | ||
915 | } | 928 | } |
916 | } | 929 | } |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 2fcca43..0c5eb62 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -4214,6 +4214,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
4214 | return; | 4214 | return; |
4215 | 4215 | ||
4216 | inv.SetRootAgentScene(agentID, this); | 4216 | inv.SetRootAgentScene(agentID, this); |
4217 | |||
4218 | EventManager.TriggerSetRootAgentScene(agentID); | ||
4217 | } | 4219 | } |
4218 | 4220 | ||
4219 | public bool NeedSceneCacheClear(UUID agentID) | 4221 | public bool NeedSceneCacheClear(UUID agentID) |