aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2010-04-05 19:37:02 +0100
committerJustin Clark-Casey (justincc)2010-05-26 20:58:40 +0100
commit32c43bf59a3b9c3cb0b9eb1d52f664997e39a50d (patch)
tree235fa911ad8c2c00fbb5a95d15994631b1e197d4 /OpenSim/Region/ClientStack
parentbackport from master fix for attachment display (diff)
downloadopensim-SC-32c43bf59a3b9c3cb0b9eb1d52f664997e39a50d.zip
opensim-SC-32c43bf59a3b9c3cb0b9eb1d52f664997e39a50d.tar.gz
opensim-SC-32c43bf59a3b9c3cb0b9eb1d52f664997e39a50d.tar.bz2
opensim-SC-32c43bf59a3b9c3cb0b9eb1d52f664997e39a50d.tar.xz
Partially implement share with group option for object inventory items
If serverside permissions are off then this works as expected. Previously, it was impossible for more than one person to edit such items even if permissions were off. If serverside permissions are on then this works as expected if the object was created by an avatar who had the required group active. However, if the group for the object is later set then the contained item is still not editable. This may be linked to a wider bug where the object is still not modifiable by the group anyway Resolve conflict in LLClientView
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs13
1 files changed, 8 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 724c8bc..bd0c146 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -657,8 +657,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
657 public void ProcessSpecificPacketAsync(object state) 657 public void ProcessSpecificPacketAsync(object state)
658 { 658 {
659 AsyncPacketProcess packetObject = (AsyncPacketProcess)state; 659 AsyncPacketProcess packetObject = (AsyncPacketProcess)state;
660 packetObject.result = packetObject.Method(packetObject.ClientView, packetObject.Pack); 660 packetObject.result = packetObject.Method(packetObject.ClientView, packetObject.Pack);
661
662 } 661 }
663 662
664 #endregion Packet Handling 663 #endregion Packet Handling
@@ -7662,12 +7661,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7662 newTaskItem.GroupPermissions = updatetask.InventoryData.GroupMask; 7661 newTaskItem.GroupPermissions = updatetask.InventoryData.GroupMask;
7663 newTaskItem.EveryonePermissions = updatetask.InventoryData.EveryoneMask; 7662 newTaskItem.EveryonePermissions = updatetask.InventoryData.EveryoneMask;
7664 newTaskItem.NextPermissions = updatetask.InventoryData.NextOwnerMask; 7663 newTaskItem.NextPermissions = updatetask.InventoryData.NextOwnerMask;
7664
7665 // Unused? Clicking share with group sets GroupPermissions instead, so perhaps this is something
7666 // different
7665 //newTaskItem.GroupOwned=updatetask.InventoryData.GroupOwned; 7667 //newTaskItem.GroupOwned=updatetask.InventoryData.GroupOwned;
7666 newTaskItem.Type = updatetask.InventoryData.Type; 7668 newTaskItem.Type = updatetask.InventoryData.Type;
7667 newTaskItem.InvType = updatetask.InventoryData.InvType; 7669 newTaskItem.InvType = updatetask.InventoryData.InvType;
7668 newTaskItem.Flags = updatetask.InventoryData.Flags; 7670 newTaskItem.Flags = updatetask.InventoryData.Flags;
7669 //newTaskItem.SaleType=updatetask.InventoryData.SaleType; 7671 //newTaskItem.SaleType=updatetask.InventoryData.SaleType;
7670 //newTaskItem.SalePrice=updatetask.InventoryData.SalePrice;; 7672 //newTaskItem.SalePrice=updatetask.InventoryData.SalePrice;
7671 newTaskItem.Name = Util.FieldToString(updatetask.InventoryData.Name); 7673 newTaskItem.Name = Util.FieldToString(updatetask.InventoryData.Name);
7672 newTaskItem.Description = Util.FieldToString(updatetask.InventoryData.Description); 7674 newTaskItem.Description = Util.FieldToString(updatetask.InventoryData.Description);
7673 newTaskItem.CreationDate = (uint)updatetask.InventoryData.CreationDate; 7675 newTaskItem.CreationDate = (uint)updatetask.InventoryData.CreationDate;
@@ -7675,7 +7677,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7675 newTaskItem, updatetask.UpdateData.LocalID); 7677 newTaskItem, updatetask.UpdateData.LocalID);
7676 } 7678 }
7677 } 7679 }
7678 } 7680 }
7679 7681
7680 return true; 7682 return true;
7681 } 7683 }
@@ -11590,6 +11592,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11590 public PacketMethod method; 11592 public PacketMethod method;
11591 public bool Async; 11593 public bool Async;
11592 } 11594 }
11595
11593 public class AsyncPacketProcess 11596 public class AsyncPacketProcess
11594 { 11597 {
11595 public bool result = false; 11598 public bool result = false;
@@ -11632,4 +11635,4 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11632 OutPacket(packet, ThrottleOutPacketType.Task); 11635 OutPacket(packet, ThrottleOutPacketType.Task);
11633 } 11636 }
11634 } 11637 }
11635} 11638} \ No newline at end of file