From 827058e3590f9fb1bcb0df8a7856f4d8f77b5c5d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 20 Dec 2015 11:57:52 +0000 Subject: [PATCH] drop attachments to ground with phantom active. We should not do this, but for now there no better way to avoid nasty collisions. (large physical objects may still have bad collisions with ground on drop) --- .../Avatar/Attachments/AttachmentsModule.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index a21b52cc9a..ca5413829e 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -737,11 +737,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments } rootPart.RemFlag(PrimFlags.TemporaryOnRez); - - // not physical, not temporary, phaton, not volume detector -// so.UpdatePrimFlags(rootPart.LocalId,false,false,true,rootPart.VolumeDetectActive); - // restore full physical state instead + // not physical, not temporary, phaton, not volume detector + // so.UpdatePrimFlags(rootPart.LocalId,false,false,true,rootPart.VolumeDetectActive); + + // but do avoid nasty collisions set it phantom in this drop case + // until a better way is found + rootPart.AddFlag(PrimFlags.Phantom); + so.ApplyPhysics(); so.HasGroupChanged = true; @@ -761,8 +764,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // Attach (NULL) stops scripts. We don't want that. Resume them. so.ResumeScripts(); - so.ScheduleGroupForTerseUpdate(); so.RootPart.ScheduleFullUpdate(); + so.ScheduleGroupForTerseUpdate(); } public void DetachSingleAttachmentToInv(IScenePresence sp, SceneObjectGroup so)