aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorDiva Canto2012-11-27 21:10:58 -0800
committerDiva Canto2012-11-27 21:10:58 -0800
commit92a766e8cb38ed0cf2f778d95e192275cd4e3100 (patch)
tree4765c1a1c8757577e4fe90be26511623efbe5d55 /OpenSim/Region
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-SC_OLD-92a766e8cb38ed0cf2f778d95e192275cd4e3100.zip
opensim-SC_OLD-92a766e8cb38ed0cf2f778d95e192275cd4e3100.tar.gz
opensim-SC_OLD-92a766e8cb38ed0cf2f778d95e192275cd4e3100.tar.bz2
opensim-SC_OLD-92a766e8cb38ed0cf2f778d95e192275cd4e3100.tar.xz
Bug fix in Offline IM for inventory transfers. The items were being placed twice in the receiver's inventory.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs26
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 }