diff options
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index a21b52c..ca54138 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 | |||
737 | } | 737 | } |
738 | 738 | ||
739 | rootPart.RemFlag(PrimFlags.TemporaryOnRez); | 739 | rootPart.RemFlag(PrimFlags.TemporaryOnRez); |
740 | 740 | ||
741 | // not physical, not temporary, phaton, not volume detector | 741 | // not physical, not temporary, phaton, not volume detector |
742 | // so.UpdatePrimFlags(rootPart.LocalId,false,false,true,rootPart.VolumeDetectActive); | 742 | // so.UpdatePrimFlags(rootPart.LocalId,false,false,true,rootPart.VolumeDetectActive); |
743 | 743 | ||
744 | // restore full physical state instead | 744 | // but do avoid nasty collisions set it phantom in this drop case |
745 | // until a better way is found | ||
746 | rootPart.AddFlag(PrimFlags.Phantom); | ||
747 | |||
745 | so.ApplyPhysics(); | 748 | so.ApplyPhysics(); |
746 | 749 | ||
747 | so.HasGroupChanged = true; | 750 | so.HasGroupChanged = true; |
@@ -761,8 +764,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments | |||
761 | 764 | ||
762 | // Attach (NULL) stops scripts. We don't want that. Resume them. | 765 | // Attach (NULL) stops scripts. We don't want that. Resume them. |
763 | so.ResumeScripts(); | 766 | so.ResumeScripts(); |
764 | so.ScheduleGroupForTerseUpdate(); | ||
765 | so.RootPart.ScheduleFullUpdate(); | 767 | so.RootPart.ScheduleFullUpdate(); |
768 | so.ScheduleGroupForTerseUpdate(); | ||
766 | } | 769 | } |
767 | 770 | ||
768 | public void DetachSingleAttachmentToInv(IScenePresence sp, SceneObjectGroup so) | 771 | public void DetachSingleAttachmentToInv(IScenePresence sp, SceneObjectGroup so) |