aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs')
-rw-r--r--OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs19
1 files changed, 16 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs b/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs
index 2553266..adf1103 100644
--- a/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs
+++ b/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs
@@ -54,6 +54,14 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
54 54
55 public void Initialise(Scene scene, IConfigSource config) 55 public void Initialise(Scene scene, IConfigSource config)
56 { 56 {
57 if (config.Configs["Messaging"] != null)
58 {
59 if (config.Configs["Messaging"].GetString(
60 "InstantMessageModule", "InstantMessageModule") !=
61 "InstantMessageModule")
62 return;
63 }
64
57 lock (m_scenes) 65 lock (m_scenes)
58 { 66 {
59 if (m_scenes.Count == 0) 67 if (m_scenes.Count == 0)
@@ -67,7 +75,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
67 { 75 {
68 m_scenes.Add(scene); 76 m_scenes.Add(scene);
69 scene.EventManager.OnNewClient += OnNewClient; 77 scene.EventManager.OnNewClient += OnNewClient;
70 scene.EventManager.OnGridInstantMessageToIMModule += OnGridInstantMessage; 78 scene.EventManager.OnGridInstantMessage += OnGridInstantMessage;
71 } 79 }
72 } 80 }
73 } 81 }
@@ -114,7 +122,9 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
114 byte[] binaryBucket) 122 byte[] binaryBucket)
115 { 123 {
116 bool dialogHandledElsewhere 124 bool dialogHandledElsewhere
117 = ((dialog == 38) || (dialog == 39) || (dialog == 40) 125 = ( dialog == (byte) InstantMessageDialog.FriendshipOffered
126 || dialog == (byte) InstantMessageDialog.FriendshipAccepted
127 || dialog == (byte) InstantMessageDialog.FriendshipDeclined
118 || dialog == (byte) InstantMessageDialog.InventoryOffered 128 || dialog == (byte) InstantMessageDialog.InventoryOffered
119 || dialog == (byte) InstantMessageDialog.InventoryAccepted 129 || dialog == (byte) InstantMessageDialog.InventoryAccepted
120 || dialog == (byte) InstantMessageDialog.InventoryDeclined 130 || dialog == (byte) InstantMessageDialog.InventoryDeclined
@@ -197,8 +207,11 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
197 /// 207 ///
198 /// </summary> 208 /// </summary>
199 /// <param name="msg"></param> 209 /// <param name="msg"></param>
200 private void OnGridInstantMessage(GridInstantMessage msg) 210 private void OnGridInstantMessage(GridInstantMessage msg, InstantMessageReceiver which)
201 { 211 {
212 if ((which & InstantMessageReceiver.IMModule) == 0)
213 return;
214
202 // Trigger the above event handler 215 // Trigger the above event handler
203 OnInstantMessage(null, new UUID(msg.fromAgentID), new UUID(msg.fromAgentSession), 216 OnInstantMessage(null, new UUID(msg.fromAgentID), new UUID(msg.fromAgentSession),
204 new UUID(msg.toAgentID), new UUID(msg.imSessionID), msg.timestamp, msg.fromAgentName, 217 new UUID(msg.toAgentID), new UUID(msg.imSessionID), msg.timestamp, msg.fromAgentName,