From 9e6d9e0436eb6c9c37c9f98f2689c2757cbfe4c5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 27 Oct 2015 01:17:32 +0000 Subject: [PATCH] friends rights to edit objects display on viewers fixed. This needs to be optimized in future --- .../Framework/Scenes/Scene.PacketHandlers.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs index 0b0e458906..34b9c5fc6c 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs @@ -201,6 +201,11 @@ namespace OpenSim.Region.Framework.Scenes part.SendPropertiesToClient(remoteClient); + // waste of time because properties do not send prim flags as they should + // if a friend got or lost edit rights after login, a full update is needed + if(sog.OwnerID != remoteClient.AgentId) + part.SendFullUpdate(remoteClient); + // A prim is only tainted if it's allowed to be edited by the person clicking it. if (Permissions.CanEditObject(sog.UUID, remoteClient.AgentId) || Permissions.CanMoveObject(sog.UUID, remoteClient.AgentId)) @@ -303,12 +308,11 @@ namespace OpenSim.Region.Framework.Scenes part.IsSelected = false; if (!part.ParentGroup.IsAttachment && oldgprSelect != part.ParentGroup.IsSelected) EventManager.TriggerParcelPrimCountTainted(); + + // restore targetOmega + if (part.AngularVelocity != Vector3.Zero) + part.ScheduleTerseUpdate(); } - - // restore targetOmega - if (part.AngularVelocity != Vector3.Zero) - part.ScheduleTerseUpdate(); - } public virtual void ProcessMoneyTransferRequest(UUID source, UUID destination, int amount,