diff options
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs index 4aaf1fe..41364d7 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs | |||
@@ -186,17 +186,21 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
186 | 186 | ||
187 | foreach (GridInstantMessage im in msglist) | 187 | foreach (GridInstantMessage im in msglist) |
188 | { | 188 | { |
189 | // client.SendInstantMessage(im); | 189 | if (im.dialog == (byte)InstantMessageDialog.InventoryOffered) |
190 | 190 | // send it directly or else the item will be given twice | |
191 | // Send through scene event manager so all modules get a chance | 191 | client.SendInstantMessage(im); |
192 | // to look at this message before it gets delivered. | 192 | else |
193 | // | 193 | { |
194 | // Needed for proper state management for stored group | 194 | // Send through scene event manager so all modules get a chance |
195 | // invitations | 195 | // to look at this message before it gets delivered. |
196 | // | 196 | // |
197 | Scene s = FindScene(client.AgentId); | 197 | // Needed for proper state management for stored group |
198 | if (s != null) | 198 | // invitations |
199 | s.EventManager.TriggerIncomingInstantMessage(im); | 199 | // |
200 | Scene s = FindScene(client.AgentId); | ||
201 | if (s != null) | ||
202 | s.EventManager.TriggerIncomingInstantMessage(im); | ||
203 | } | ||
200 | } | 204 | } |
201 | } | 205 | } |
202 | } | 206 | } |