aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Avatar
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-07-17 23:31:38 +0100
committerJustin Clark-Casey (justincc)2012-07-17 23:31:38 +0100
commitecb759c1e5b0ea3e1c81310acf3fe31561d2be3a (patch)
treea244524b6c69c3524f3470b668092cc758d214a1 /OpenSim/Region/CoreModules/Avatar
parentRevert "refactor: make llGiveInventory() use existing GetInventoryItem() meth... (diff)
downloadopensim-SC_OLD-ecb759c1e5b0ea3e1c81310acf3fe31561d2be3a.zip
opensim-SC_OLD-ecb759c1e5b0ea3e1c81310acf3fe31561d2be3a.tar.gz
opensim-SC_OLD-ecb759c1e5b0ea3e1c81310acf3fe31561d2be3a.tar.bz2
opensim-SC_OLD-ecb759c1e5b0ea3e1c81310acf3fe31561d2be3a.tar.xz
Fix regression where llGiveInventory() had stopped asking non-owner receivers to accept/decline.
This appears to be a regression from back in commit db91044 (Mon Aug 22 2011) where we started to send TaskInventoryOffered msg dialog rather than InventoryOffered dialog. This is probably correct, but failed because the bucket was too large and because we wouldn't have handled the TaskInventoryDeclined option anyway. This patch handles both of these and make llGiveInventoryList() use TaskInventoryOffered as well Fixes http://opensimulator.org/mantis/view.php?id=6089
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs19
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs4
2 files changed, 14 insertions, 9 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
index 0dad3c4..596174b 100644
--- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
@@ -137,13 +137,15 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
137 foreach (Scene scene in m_Scenes) 137 foreach (Scene scene in m_Scenes)
138 { 138 {
139// m_log.DebugFormat( 139// m_log.DebugFormat(
140// "[INSTANT MESSAGE]: Looking for root agent {0} in {1}", 140// "[INSTANT MESSAGE]: Looking for root agent {0} in {1}",
141// toAgentID.ToString(), scene.RegionInfo.RegionName); 141// toAgentID.ToString(), scene.RegionInfo.RegionName);
142
142 ScenePresence sp = scene.GetScenePresence(toAgentID); 143 ScenePresence sp = scene.GetScenePresence(toAgentID);
143 if (sp != null && !sp.IsChildAgent) 144 if (sp != null && !sp.IsChildAgent)
144 { 145 {
145 // Local message 146 // Local message
146// m_log.DebugFormat("[INSTANT MESSAGE]: Delivering IM to root agent {0} {1}", user.Name, toAgentID); 147 m_log.DebugFormat("[INSTANT MESSAGE]: Delivering IM to root agent {0} {1}", sp.Name, toAgentID);
148
147 sp.ControllingClient.SendInstantMessage(im); 149 sp.ControllingClient.SendInstantMessage(im);
148 150
149 // Message sent 151 // Message sent
@@ -155,13 +157,15 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
155 // try child avatar second 157 // try child avatar second
156 foreach (Scene scene in m_Scenes) 158 foreach (Scene scene in m_Scenes)
157 { 159 {
158// m_log.DebugFormat( 160 m_log.DebugFormat(
159// "[INSTANT MESSAGE]: Looking for child of {0} in {1}", toAgentID, scene.RegionInfo.RegionName); 161 "[INSTANT MESSAGE]: Looking for child of {0} in {1}", toAgentID, scene.RegionInfo.RegionName);
162
160 ScenePresence sp = scene.GetScenePresence(toAgentID); 163 ScenePresence sp = scene.GetScenePresence(toAgentID);
161 if (sp != null) 164 if (sp != null)
162 { 165 {
163 // Local message 166 // Local message
164// m_log.DebugFormat("[INSTANT MESSAGE]: Delivering IM to child agent {0} {1}", user.Name, toAgentID); 167 m_log.DebugFormat("[INSTANT MESSAGE]: Delivering IM to child agent {0} {1}", sp.Name, toAgentID);
168
165 sp.ControllingClient.SendInstantMessage(im); 169 sp.ControllingClient.SendInstantMessage(im);
166 170
167 // Message sent 171 // Message sent
@@ -170,10 +174,9 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
170 } 174 }
171 } 175 }
172 176
173// m_log.DebugFormat("[INSTANT MESSAGE]: Delivering IM to {0} via XMLRPC", im.toAgentID); 177 m_log.DebugFormat("[INSTANT MESSAGE]: Delivering IM to {0} via XMLRPC", im.toAgentID);
174 SendGridInstantMessageViaXMLRPC(im, result);
175 178
176 return; 179 SendGridInstantMessageViaXMLRPC(im, result);
177 } 180 }
178 181
179 private void HandleUndeliveredMessage(GridInstantMessage im, MessageResultNotification result) 182 private void HandleUndeliveredMessage(GridInstantMessage im, MessageResultNotification result)
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
index 19c774f..f3af59a 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
@@ -297,7 +297,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
297 }); 297 });
298 } 298 }
299 } 299 }
300 else if (im.dialog == (byte) InstantMessageDialog.InventoryDeclined) 300 else if (
301 im.dialog == (byte)InstantMessageDialog.InventoryDeclined
302 || im.dialog == (byte)InstantMessageDialog.TaskInventoryDeclined)
301 { 303 {
302 // Here, the recipient is local and we can assume that the 304 // Here, the recipient is local and we can assume that the
303 // inventory is loaded. Courtesy of the above bulk update, 305 // inventory is loaded. Courtesy of the above bulk update,