avoid lastOwner beeing the group

httptests
UbitUmarov 2017-01-16 19:22:39 +00:00
parent 733072b6a3
commit ffa6c7aae2
3 changed files with 11 additions and 4 deletions

View File

@ -2751,7 +2751,8 @@ namespace OpenSim.Region.Framework.Scenes
/// <param name="cGroupID"></param>
public void SetRootPartOwner(SceneObjectPart part, UUID cAgentID, UUID cGroupID)
{
part.LastOwnerID = part.OwnerID;
if(part.GroupID != part.OwnerID && cGroupID != part.OwnerID)
part.LastOwnerID = part.OwnerID;
part.OwnerID = cAgentID;
part.GroupID = cGroupID;

View File

@ -2228,7 +2228,11 @@ namespace OpenSim.Region.Framework.Scenes
dupe.LocalId = plocalID;
// This may be wrong... it might have to be applied in SceneObjectGroup to the object that's being duplicated.
dupe.LastOwnerID = OwnerID;
if(OwnerID != GroupID)
dupe.LastOwnerID = OwnerID;
else
dupe.LastOwnerID = LastOwnerID; // redundant ?
dupe.RezzerID = RezzerID;
byte[] extraP = new byte[Shape.ExtraParams.Length];
@ -5246,7 +5250,8 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter
//LogPermissions("After ApplyNextOwnerPermissions");
LastOwnerID = OwnerID;
if(OwnerID != GroupID)
LastOwnerID = OwnerID;
OwnerID = item.Owner;
Inventory.ChangeInventoryOwner(item.Owner);
}

View File

@ -965,7 +965,8 @@ namespace OpenSim.Region.Framework.Scenes
{
if ((part.OwnerID != item.OwnerID) || (item.CurrentPermissions & (uint)PermissionMask.Slam) != 0 || (item.Flags & (uint)InventoryItemFlags.ObjectSlamPerm) != 0)
{
part.LastOwnerID = part.OwnerID;
if(part.GroupID != part.OwnerID)
part.LastOwnerID = part.OwnerID;
part.OwnerID = item.OwnerID;
part.Inventory.ChangeInventoryOwner(item.OwnerID);
}