* Fix for mantis 131, 796

* Take copy now actually takes a copy into inventory rather than the original
0.6.0-stable
Justin Clarke Casey 2008-03-31 16:12:24 +00:00
parent e18d046d76
commit 5f04cebb25
1 changed files with 14 additions and 4 deletions

View File

@ -446,6 +446,8 @@ namespace OpenSim.Region.Environment.Scenes
sbyte assetType, sbyte assetType,
byte wearableType, uint nextOwnerMask) byte wearableType, uint nextOwnerMask)
{ {
// m_log.DebugFormat("[AGENT INVENTORY]: Received request to create inventory item {0} in folder {1}", name, folderID);
if (transactionID == LLUUID.Zero) if (transactionID == LLUUID.Zero)
{ {
CachedUserInfo userInfo CachedUserInfo userInfo
@ -731,7 +733,7 @@ namespace OpenSim.Region.Environment.Scenes
} }
/// <summary> /// <summary>
/// /// Called when an object is removed from the environment into inventory.
/// </summary> /// </summary>
/// <param name="packet"></param> /// <param name="packet"></param>
/// <param name="simClient"></param> /// <param name="simClient"></param>
@ -747,6 +749,10 @@ namespace OpenSim.Region.Environment.Scenes
{ {
foreach (DeRezObjectPacket.ObjectDataBlock Data in DeRezPacket.ObjectData) foreach (DeRezObjectPacket.ObjectDataBlock Data in DeRezPacket.ObjectData)
{ {
// m_log.DebugFormat(
// "[AGENT INVENTORY]: Received request to derez {0} into folder {1}",
// Data.ObjectLocalID, DeRezPacket.AgentBlock.DestinationID);
EntityBase selectedEnt = null; EntityBase selectedEnt = null;
//m_log.Info("[CLIENT]: LocalID:" + Data.ObjectLocalID.ToString()); //m_log.Info("[CLIENT]: LocalID:" + Data.ObjectLocalID.ToString());
@ -798,12 +804,16 @@ namespace OpenSim.Region.Environment.Scenes
remoteClient.SendInventoryItemCreateUpdate(item); remoteClient.SendInventoryItemCreateUpdate(item);
} }
// FIXME: Nasty hardcoding. If Destination is 1 then client wants us to take a copy
if (DeRezPacket.AgentBlock.Destination != 1)
{
DeleteSceneObjectGroup((SceneObjectGroup) selectedEnt); DeleteSceneObjectGroup((SceneObjectGroup) selectedEnt);
} }
} }
} }
} }
} }
}
public virtual void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 RayEnd, LLVector3 RayStart, public virtual void RezObject(IClientAPI remoteClient, LLUUID itemID, LLVector3 RayEnd, LLVector3 RayStart,
LLUUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, LLUUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,