diff options
Diffstat (limited to 'OpenSim/Region/RegionCombinerModule')
-rw-r--r-- | OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs index 09da97a..a2e3ac2 100644 --- a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs +++ b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs | |||
@@ -716,29 +716,17 @@ namespace OpenSim.Region.RegionCombinerModule | |||
716 | { | 716 | { |
717 | if (sp.UUID != presence.UUID) | 717 | if (sp.UUID != presence.UUID) |
718 | { | 718 | { |
719 | if (sp.ParentID != 0) | 719 | SceneObjectPart sitPart = sp.ParentPart; |
720 | { | 720 | |
721 | // sitting avatar | 721 | if (sitPart != null) |
722 | SceneObjectPart sop = connectiondata.RegionScene.GetSceneObjectPart(sp.ParentID); | 722 | CoarseLocations.Add(sitPart.AbsolutePosition + sp.AbsolutePosition); |
723 | if (sop != null) | ||
724 | { | ||
725 | CoarseLocations.Add(sop.AbsolutePosition + sp.AbsolutePosition); | ||
726 | AvatarUUIDs.Add(sp.UUID); | ||
727 | } | ||
728 | else | ||
729 | { | ||
730 | // we can't find the parent.. ! arg! | ||
731 | CoarseLocations.Add(sp.AbsolutePosition); | ||
732 | AvatarUUIDs.Add(sp.UUID); | ||
733 | } | ||
734 | } | ||
735 | else | 723 | else |
736 | { | ||
737 | CoarseLocations.Add(sp.AbsolutePosition); | 724 | CoarseLocations.Add(sp.AbsolutePosition); |
738 | AvatarUUIDs.Add(sp.UUID); | 725 | |
739 | } | 726 | AvatarUUIDs.Add(sp.UUID); |
740 | } | 727 | } |
741 | }); | 728 | }); |
729 | |||
742 | DistributeCourseLocationUpdates(CoarseLocations, AvatarUUIDs, connectiondata, presence); | 730 | DistributeCourseLocationUpdates(CoarseLocations, AvatarUUIDs, connectiondata, presence); |
743 | } | 731 | } |
744 | 732 | ||