aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation
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/ScriptEngine/Shared/Api/Implementation
parentRevert "refactor: make llGiveInventory() use existing GetInventoryItem() meth... (diff)
downloadopensim-SC-ecb759c1e5b0ea3e1c81310acf3fe31561d2be3a.zip
opensim-SC-ecb759c1e5b0ea3e1c81310acf3fe31561d2be3a.tar.gz
opensim-SC-ecb759c1e5b0ea3e1c81310acf3fe31561d2be3a.tar.bz2
opensim-SC-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/ScriptEngine/Shared/Api/Implementation')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs58
1 files changed, 29 insertions, 29 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index c1ac0e5..b43e8e7 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3988,22 +3988,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3988 if (agentItem == null) 3988 if (agentItem == null)
3989 return; 3989 return;
3990 3990
3991 byte[] bucket = new byte[17];
3992 bucket[0] = (byte)assetType;
3993 byte[] objBytes = agentItem.ID.GetBytes();
3994 Array.Copy(objBytes, 0, bucket, 1, 16);
3995
3996 GridInstantMessage msg = new GridInstantMessage(World,
3997 m_host.UUID, m_host.Name+", an object owned by "+
3998 resolveName(m_host.OwnerID)+",", destId,
3999 (byte)InstantMessageDialog.TaskInventoryOffered,
4000 false, objName+"\n"+m_host.Name+" is located at "+
4001 World.RegionInfo.RegionName+" "+
4002 m_host.AbsolutePosition.ToString(),
4003 agentItem.ID, true, m_host.AbsolutePosition,
4004 bucket);
4005 if (m_TransferModule != null) 3991 if (m_TransferModule != null)
3992 {
3993 byte[] bucket = new byte[] { (byte)assetType };
3994
3995 GridInstantMessage msg = new GridInstantMessage(World,
3996 m_host.UUID, m_host.Name + ", an object owned by " +
3997 resolveName(m_host.OwnerID) + ",", destId,
3998 (byte)InstantMessageDialog.TaskInventoryOffered,
3999 false, objName + "\n" + m_host.Name + " is located at " +
4000 World.RegionInfo.RegionName + " " +
4001 m_host.AbsolutePosition.ToString(),
4002 agentItem.ID, true, m_host.AbsolutePosition,
4003 bucket);
4004
4006 m_TransferModule.SendInstantMessage(msg, delegate(bool success) {}); 4005 m_TransferModule.SendInstantMessage(msg, delegate(bool success) {});
4006 }
4007
4007 ScriptSleep(3000); 4008 ScriptSleep(3000);
4008 } 4009 }
4009 } 4010 }
@@ -6410,23 +6411,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6410 if (folderID == UUID.Zero) 6411 if (folderID == UUID.Zero)
6411 return; 6412 return;
6412 6413
6413 byte[] bucket = new byte[17];
6414 bucket[0] = (byte)AssetType.Folder;
6415 byte[] objBytes = folderID.GetBytes();
6416 Array.Copy(objBytes, 0, bucket, 1, 16);
6417
6418 GridInstantMessage msg = new GridInstantMessage(World,
6419 m_host.UUID, m_host.Name + ", an object owned by " +
6420 resolveName(m_host.OwnerID) + ",", destID,
6421 (byte)InstantMessageDialog.InventoryOffered,
6422 false, category + "\n" + m_host.Name + " is located at " +
6423 World.RegionInfo.RegionName + " " +
6424 m_host.AbsolutePosition.ToString(),
6425 folderID, true, m_host.AbsolutePosition,
6426 bucket);
6427
6428 if (m_TransferModule != null) 6414 if (m_TransferModule != null)
6415 {
6416 byte[] bucket = new byte[] { (byte)AssetType.Folder };
6417
6418 GridInstantMessage msg = new GridInstantMessage(World,
6419 m_host.UUID, m_host.Name + ", an object owned by " +
6420 resolveName(m_host.OwnerID) + ",", destID,
6421 (byte)InstantMessageDialog.TaskInventoryOffered,
6422 false, category + "\n" + m_host.Name + " is located at " +
6423 World.RegionInfo.RegionName + " " +
6424 m_host.AbsolutePosition.ToString(),
6425 folderID, true, m_host.AbsolutePosition,
6426 bucket);
6427
6429 m_TransferModule.SendInstantMessage(msg, delegate(bool success) {}); 6428 m_TransferModule.SendInstantMessage(msg, delegate(bool success) {});
6429 }
6430 } 6430 }
6431 6431
6432 public void llSetVehicleType(int type) 6432 public void llSetVehicleType(int type)