From b03e34dd2de8e58f3aaf61dbac71d1e8f99313e8 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Sat, 1 Nov 2008 21:28:52 +0000 Subject: * Fix http://opensimulator.org/mantis/view.php?id=2517 * Don't save attachments on saving oar, which stops them coming back as ghost prims --- OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 14 ++++---------- OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 5 +++-- .../World/Archiver/ArchiveWriteRequestPreparation.cs | 7 ++++++- OpenSim/Region/Environment/Scenes/EntityBase.cs | 2 +- OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 1 - 5 files changed, 14 insertions(+), 15 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 07af65d..5b3bc98 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -4129,6 +4129,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP handlerApproveFriendRequest(this, agentID, transactionID, callingCardFolders); } break; + case PacketType.TerminateFriendship: TerminateFriendshipPacket tfriendpack = (TerminateFriendshipPacket)Pack; UUID listOwnerAgentID = tfriendpack.AgentData.AgentID; @@ -4140,22 +4141,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP handlerTerminateFriendship(this, listOwnerAgentID, exFriendID); } break; + case PacketType.RezObject: RezObjectPacket rezPacket = (RezObjectPacket)Pack; handlerRezObject = OnRezObject; if (handlerRezObject != null) { - //rezPacket.RezData.BypassRaycast; - //rezPacket.RezData.RayEnd; - //rezPacket.RezData.RayEndIsIntersection; - //rezPacket.RezData.RayStart; - //rezPacket.RezData.RayTargetID; - //rezPacket.RezData.RemoveItem; - //rezPacket.RezData.RezSelected; - //rezPacket.RezData.FromTaskID; - //m_log.Info("[REZData]: " + rezPacket.ToString()); - handlerRezObject(this, rezPacket.InventoryData.ItemID, rezPacket.RezData.RayEnd, rezPacket.RezData.RayStart, rezPacket.RezData.RayTargetID, rezPacket.RezData.BypassRaycast, rezPacket.RezData.RayEndIsIntersection, @@ -4163,6 +4155,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP rezPacket.RezData.FromTaskID); } break; + case PacketType.DeRezObject: DeRezObjectPacket DeRezPacket = (DeRezObjectPacket) Pack; handlerDeRezObject = OnDeRezObject; @@ -4178,6 +4171,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP } } break; + case PacketType.ModifyLand: ModifyLandPacket modify = (ModifyLandPacket)Pack; //m_log.Info("[LAND]: LAND:" + modify.ToString()); diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 52a2467..ba4e18b 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -293,9 +293,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP { CloseCircuit(reusedEpSender, e); } - catch (Exception a) + catch (Exception e2) { - m_log.Error("[UDPSERVER]: " + a); + m_log.ErrorFormat( + "[CLIENT]: Exception thrown when trying to close the circuit for {0} - {1}", reusedEpSender, e2); } // ENDLESS LOOP ON PURPOSE! diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs index 4a51398..8c623b1 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestPreparation.cs @@ -273,7 +273,12 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver foreach (EntityBase entity in entities) { if (entity is SceneObjectGroup) - sceneObjects.Add((SceneObjectGroup)entity); + { + SceneObjectGroup sceneObject = (SceneObjectGroup)entity; + + if (sceneObject.RootPart != null && !sceneObject.RootPart.IsAttachment) + sceneObjects.Add((SceneObjectGroup)entity); + } } foreach (SceneObjectGroup sceneObject in sceneObjects) diff --git a/OpenSim/Region/Environment/Scenes/EntityBase.cs b/OpenSim/Region/Environment/Scenes/EntityBase.cs index afdbb91..7a3b9a7 100644 --- a/OpenSim/Region/Environment/Scenes/EntityBase.cs +++ b/OpenSim/Region/Environment/Scenes/EntityBase.cs @@ -64,7 +64,7 @@ namespace OpenSim.Region.Environment.Scenes } /// - /// Signals whether this group was in a scene but has since been deleted from it. + /// Signals whether this entity was in a scene but has since been removed from it. /// public bool IsDeleted { diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 98c7fb5..f4b6685 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs @@ -741,7 +741,6 @@ namespace OpenSim.Region.Environment.Scenes { m_scene.PhysicsScene.RemovePrim(m_rootPart.PhysActor); m_rootPart.PhysActor = null; - } AbsolutePosition = AttachOffset; -- cgit v1.1