Correct the behaviro of group deeding and llGetOwner() within deeded objects
parent
04444d408f
commit
bc1dce071a
|
@ -3295,7 +3295,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock();
|
ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock();
|
||||||
objPropDB.RequestFlags = RequestFlags;
|
objPropDB.RequestFlags = RequestFlags;
|
||||||
objPropDB.ObjectID = ObjectUUID;
|
objPropDB.ObjectID = ObjectUUID;
|
||||||
objPropDB.OwnerID = OwnerID;
|
if (OwnerID == GroupID)
|
||||||
|
objPropDB.OwnerID = UUID.Zero;
|
||||||
|
else
|
||||||
|
objPropDB.OwnerID = OwnerID;
|
||||||
objPropDB.GroupID = GroupID;
|
objPropDB.GroupID = GroupID;
|
||||||
objPropDB.BaseMask = BaseMask;
|
objPropDB.BaseMask = BaseMask;
|
||||||
objPropDB.OwnerMask = OwnerMask;
|
objPropDB.OwnerMask = OwnerMask;
|
||||||
|
@ -3340,7 +3343,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// proper.ObjectData[0].LastOwnerID = UUID.Zero;
|
// proper.ObjectData[0].LastOwnerID = UUID.Zero;
|
||||||
|
|
||||||
proper.ObjectData[0].ObjectID = ObjectUUID;
|
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].TouchName = LLUtil.StringToPacketBytes(TouchTitle);
|
||||||
proper.ObjectData[0].TextureID = TextureID;
|
proper.ObjectData[0].TextureID = TextureID;
|
||||||
proper.ObjectData[0].SitName = LLUtil.StringToPacketBytes(SitTitle);
|
proper.ObjectData[0].SitName = LLUtil.StringToPacketBytes(SitTitle);
|
||||||
|
|
|
@ -2701,7 +2701,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
foreach (SceneObjectGroup sog in groups)
|
foreach (SceneObjectGroup sog in groups)
|
||||||
{
|
{
|
||||||
if (ownerID != null)
|
if (ownerID != UUID.Zero)
|
||||||
{
|
{
|
||||||
sog.SetOwnerId(ownerID);
|
sog.SetOwnerId(ownerID);
|
||||||
sog.SetGroup(groupID, remoteClient);
|
sog.SetGroup(groupID, remoteClient);
|
||||||
|
@ -2727,6 +2727,12 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
sog.ApplyNextOwnerPermissions();
|
sog.ApplyNextOwnerPermissions();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (uint localID in localIDs)
|
||||||
|
{
|
||||||
|
SceneObjectPart part = GetSceneObjectPart(localID);
|
||||||
|
part.GetProperties(remoteClient);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue