diff options
author | Justin Clark-Casey (justincc) | 2014-05-19 22:06:41 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-05-19 22:06:41 +0100 |
commit | 3a6f3124841ee91778df1d7fa2fbda9893079c6d (patch) | |
tree | ec3f2e69b5199c448475f0e62893751ea523aa68 /OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs | |
parent | Tell QueryAccess explicitly whether the user is coming in via Teleport or Cro... (diff) | |
download | opensim-SC-3a6f3124841ee91778df1d7fa2fbda9893079c6d.zip opensim-SC-3a6f3124841ee91778df1d7fa2fbda9893079c6d.tar.gz opensim-SC-3a6f3124841ee91778df1d7fa2fbda9893079c6d.tar.bz2 opensim-SC-3a6f3124841ee91778df1d7fa2fbda9893079c6d.tar.xz |
Fix recent regression from 77e7bbc where an attachment on a received group notice with XmlRpcGroups messaging did not appear in the user's inventory.
This was because the "session ID" when the message template was copied was always replaced with the group ID, whereas a notice requires this to be the notice ID.
Instead just copy the "session ID" as is - other callers already have this set properly so replacing with group ID was redundant anyway.
Relates to http://opensimulator.org/mantis/view.php?id=7037
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs index f34152c..8a9e4d2 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs | |||
@@ -357,7 +357,10 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
357 | 357 | ||
358 | private void OnInstantMessage(IClientAPI remoteClient, GridInstantMessage im) | 358 | private void OnInstantMessage(IClientAPI remoteClient, GridInstantMessage im) |
359 | { | 359 | { |
360 | if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); | 360 | if (m_debugEnabled) |
361 | m_log.DebugFormat( | ||
362 | "[GROUPS]: {0} called for {1}, message type {2}", | ||
363 | System.Reflection.MethodBase.GetCurrentMethod().Name, remoteClient.Name, (InstantMessageDialog)im.dialog); | ||
361 | 364 | ||
362 | // Group invitations | 365 | // Group invitations |
363 | if ((im.dialog == (byte)InstantMessageDialog.GroupInvitationAccept) || (im.dialog == (byte)InstantMessageDialog.GroupInvitationDecline)) | 366 | if ((im.dialog == (byte)InstantMessageDialog.GroupInvitationAccept) || (im.dialog == (byte)InstantMessageDialog.GroupInvitationDecline)) |
@@ -551,6 +554,9 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
551 | 554 | ||
552 | UUID noticeID = new UUID(im.imSessionID); | 555 | UUID noticeID = new UUID(im.imSessionID); |
553 | 556 | ||
557 | if (m_debugEnabled) | ||
558 | m_log.DebugFormat("[GROUPS]: Requesting notice {0} for {1}", noticeID, remoteClient.AgentId); | ||
559 | |||
554 | GroupNoticeInfo notice = m_groupData.GetGroupNotice(GetRequestingAgentID(remoteClient), noticeID); | 560 | GroupNoticeInfo notice = m_groupData.GetGroupNotice(GetRequestingAgentID(remoteClient), noticeID); |
555 | if (notice != null) | 561 | if (notice != null) |
556 | { | 562 | { |
@@ -572,6 +578,13 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
572 | 578 | ||
573 | remoteClient.SendInventoryItemCreateUpdate(itemCopy, 0); | 579 | remoteClient.SendInventoryItemCreateUpdate(itemCopy, 0); |
574 | } | 580 | } |
581 | else | ||
582 | { | ||
583 | if (m_debugEnabled) | ||
584 | m_log.DebugFormat( | ||
585 | "[GROUPS]: Could not find notice {0} for {1} on GroupNoticeInventoryAccepted.", | ||
586 | noticeID, remoteClient.AgentId); | ||
587 | } | ||
575 | } | 588 | } |
576 | 589 | ||
577 | // Interop, received special 210 code for ejecting a group member | 590 | // Interop, received special 210 code for ejecting a group member |