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-04-05 19:37:02 +0100
commit9ecad5041944ad51a815972ace5366430973503c (patch)
tree9506d7568dd215a21fc2b3aee5df1ba39b56a23c /OpenSim/Region/ClientStack
parentUpdates to config files for groups (diff)
downloadopensim-SC_OLD-9ecad5041944ad51a815972ace5366430973503c.zip
opensim-SC_OLD-9ecad5041944ad51a815972ace5366430973503c.tar.gz
opensim-SC_OLD-9ecad5041944ad51a815972ace5366430973503c.tar.bz2
opensim-SC_OLD-9ecad5041944ad51a815972ace5366430973503c.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
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs15
1 files changed, 9 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 25f6ef0..7ccdd58 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -669,8 +669,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
669 public void ProcessSpecificPacketAsync(object state) 669 public void ProcessSpecificPacketAsync(object state)
670 { 670 {
671 AsyncPacketProcess packetObject = (AsyncPacketProcess)state; 671 AsyncPacketProcess packetObject = (AsyncPacketProcess)state;
672 packetObject.result = packetObject.Method(packetObject.ClientView, packetObject.Pack); 672 packetObject.result = packetObject.Method(packetObject.ClientView, packetObject.Pack);
673
674 } 673 }
675 674
676 #endregion Packet Handling 675 #endregion Packet Handling
@@ -7683,12 +7682,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7683 newTaskItem.GroupPermissions = updatetask.InventoryData.GroupMask; 7682 newTaskItem.GroupPermissions = updatetask.InventoryData.GroupMask;
7684 newTaskItem.EveryonePermissions = updatetask.InventoryData.EveryoneMask; 7683 newTaskItem.EveryonePermissions = updatetask.InventoryData.EveryoneMask;
7685 newTaskItem.NextPermissions = updatetask.InventoryData.NextOwnerMask; 7684 newTaskItem.NextPermissions = updatetask.InventoryData.NextOwnerMask;
7685
7686 // Unused? Clicking share with group sets GroupPermissions instead, so perhaps this is something
7687 // different
7686 //newTaskItem.GroupOwned=updatetask.InventoryData.GroupOwned; 7688 //newTaskItem.GroupOwned=updatetask.InventoryData.GroupOwned;
7687 newTaskItem.Type = updatetask.InventoryData.Type; 7689 newTaskItem.Type = updatetask.InventoryData.Type;
7688 newTaskItem.InvType = updatetask.InventoryData.InvType; 7690 newTaskItem.InvType = updatetask.InventoryData.InvType;
7689 newTaskItem.Flags = updatetask.InventoryData.Flags; 7691 newTaskItem.Flags = updatetask.InventoryData.Flags;
7690 //newTaskItem.SaleType=updatetask.InventoryData.SaleType; 7692 //newTaskItem.SaleType=updatetask.InventoryData.SaleType;
7691 //newTaskItem.SalePrice=updatetask.InventoryData.SalePrice;; 7693 //newTaskItem.SalePrice=updatetask.InventoryData.SalePrice;
7692 newTaskItem.Name = Util.FieldToString(updatetask.InventoryData.Name); 7694 newTaskItem.Name = Util.FieldToString(updatetask.InventoryData.Name);
7693 newTaskItem.Description = Util.FieldToString(updatetask.InventoryData.Description); 7695 newTaskItem.Description = Util.FieldToString(updatetask.InventoryData.Description);
7694 newTaskItem.CreationDate = (uint)updatetask.InventoryData.CreationDate; 7696 newTaskItem.CreationDate = (uint)updatetask.InventoryData.CreationDate;
@@ -7696,7 +7698,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7696 newTaskItem, updatetask.UpdateData.LocalID); 7698 newTaskItem, updatetask.UpdateData.LocalID);
7697 } 7699 }
7698 } 7700 }
7699 } 7701 }
7700 7702
7701 return true; 7703 return true;
7702 } 7704 }
@@ -11088,7 +11090,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11088 { 11090 {
11089 if (m_debugPacketLevel >= 255) 11091 if (m_debugPacketLevel >= 255)
11090 m_log.DebugFormat("[CLIENT]: Packet IN {0}", Pack.Type); 11092 m_log.DebugFormat("[CLIENT]: Packet IN {0}", Pack.Type);
11091 11093
11092 if (!ProcessPacketMethod(Pack)) 11094 if (!ProcessPacketMethod(Pack))
11093 m_log.Warn("[CLIENT]: unhandled packet " + Pack.Type); 11095 m_log.Warn("[CLIENT]: unhandled packet " + Pack.Type);
11094 11096
@@ -11615,6 +11617,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11615 public PacketMethod method; 11617 public PacketMethod method;
11616 public bool Async; 11618 public bool Async;
11617 } 11619 }
11620
11618 public class AsyncPacketProcess 11621 public class AsyncPacketProcess
11619 { 11622 {
11620 public bool result = false; 11623 public bool result = false;
@@ -11692,4 +11695,4 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11692 OutPacket(dialog, ThrottleOutPacketType.Task); 11695 OutPacket(dialog, ThrottleOutPacketType.Task);
11693 } 11696 }
11694 } 11697 }
11695} 11698} \ No newline at end of file