Backport the group deed fix

0.6.5-post-fixes
Melanie Thielker 2009-06-21 19:54:13 +00:00
parent 30a76861d4
commit 3769785d3c
2 changed files with 15 additions and 3 deletions

View File

@ -3287,7 +3287,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock();
objPropDB.RequestFlags = RequestFlags;
objPropDB.ObjectID = ObjectUUID;
objPropDB.OwnerID = OwnerID;
if (OwnerID == GroupID)
objPropDB.OwnerID = UUID.Zero;
else
objPropDB.OwnerID = OwnerID;
objPropDB.GroupID = GroupID;
objPropDB.BaseMask = BaseMask;
objPropDB.OwnerMask = OwnerMask;
@ -3332,7 +3335,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// proper.ObjectData[0].LastOwnerID = UUID.Zero;
proper.ObjectData[0].ObjectID = ObjectUUID;
proper.ObjectData[0].OwnerID = OwnerUUID;
if (OwnerUUID == GroupUUID)
proper.ObjectData[0].OwnerID = UUID.Zero;
else
proper.ObjectData[0].OwnerID = OwnerUUID;
proper.ObjectData[0].TouchName = LLUtil.StringToPacketBytes(TouchTitle);
proper.ObjectData[0].TextureID = TextureID;
proper.ObjectData[0].SitName = LLUtil.StringToPacketBytes(SitTitle);

View File

@ -2703,7 +2703,7 @@ namespace OpenSim.Region.Framework.Scenes
foreach (SceneObjectGroup sog in groups)
{
if (ownerID != null)
if (ownerID != UUID.Zero)
{
sog.SetOwnerId(ownerID);
sog.SetGroup(groupID, remoteClient);
@ -2729,6 +2729,12 @@ namespace OpenSim.Region.Framework.Scenes
sog.ApplyNextOwnerPermissions();
}
}
foreach (uint localID in localIDs)
{
SceneObjectPart part = GetSceneObjectPart(localID);
part.GetProperties(remoteClient);
}
}
}
}