diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 01cf9a65cf..e7d6346c12 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -5539,6 +5539,32 @@ namespace OpenSim.Region.Framework.Scenes return false; } + public bool GetOwnerName(out string FirstName, out string LastName) + { + if (RootPart != null) + { + if(RootPart.OwnerID.Equals(RootPart.GroupID)) + { + IGroupsModule groups = m_scene.RequestModuleInterface(); + if (groups != null) + { + GroupRecord grprec = groups.GetGroupRecord(RootPart.OwnerID); + if (grprec != null) + { + FirstName = string.Empty; + LastName = grprec.GroupName; + return true; + } + } + } + else + return m_scene.UserManagementModule.GetUserName(RootPart.OwnerID, out FirstName, out LastName); + } + + FirstName = string.Empty; + LastName = string.Empty; + return false; + } #endregion } diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 3ee077feca..4fdca98b67 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -5503,7 +5503,7 @@ namespace OpenSim.Region.Framework.Scenes { lock (ParentGroup.m_sittingAvatars) { - if (SitTargetAvatar == sp.UUID) + if (SitTargetAvatar.Equals(sp.UUID)) SitTargetAvatar = UUID.Zero; if (m_sittingAvatars == null) @@ -5809,5 +5809,14 @@ namespace OpenSim.Region.Framework.Scenes Animations = null; AnimationsNames = null; } + + public bool GetOwnerName(out string FirstName, out string LastName) + { + if(ParentGroup != null) + return ParentGroup.GetOwnerName(out FirstName, out LastName); + FirstName = string.Empty; + LastName = string.Empty; + return false; + } } }