aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMelanie2012-02-21 22:08:34 +0000
committerMelanie2012-02-21 22:08:34 +0000
commitdede31174e61aa8588fda82af25d71137b20092e (patch)
tree4e60ba4e8b366aeeeff66883ebe5eaee30f17c57 /OpenSim
parentAlso preserve angular velocity on crossing. (diff)
parentFix:Cannot drag inventory from child prim into inventory http://opensimulator... (diff)
downloadopensim-SC_OLD-dede31174e61aa8588fda82af25d71137b20092e.zip
opensim-SC_OLD-dede31174e61aa8588fda82af25d71137b20092e.tar.gz
opensim-SC_OLD-dede31174e61aa8588fda82af25d71137b20092e.tar.bz2
opensim-SC_OLD-dede31174e61aa8588fda82af25d71137b20092e.tar.xz
Merge branch 'master' into careminster
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs12
1 files changed, 8 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index e7a3b42..6031697 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -1151,6 +1151,11 @@ namespace OpenSim.Region.Framework.Scenes
1151 return; 1151 return;
1152 } 1152 }
1153 1153
1154 UUID partUUID = part.UUID;
1155 SceneObjectGroup group = part.ParentGroup;
1156 if (group != null)
1157 partUUID = group.RootPart.UUID;
1158
1154 TaskInventoryItem taskItem = part.Inventory.GetInventoryItem(itemId); 1159 TaskInventoryItem taskItem = part.Inventory.GetInventoryItem(itemId);
1155 1160
1156 if (null == taskItem) 1161 if (null == taskItem)
@@ -1162,19 +1167,18 @@ namespace OpenSim.Region.Framework.Scenes
1162 return; 1167 return;
1163 } 1168 }
1164 1169
1165 TaskInventoryItem item = part.Inventory.GetInventoryItem(itemId); 1170 if ((taskItem.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
1166 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
1167 { 1171 {
1168 // If the item to be moved is no copy, we need to be able to 1172 // If the item to be moved is no copy, we need to be able to
1169 // edit the prim. 1173 // edit the prim.
1170 if (!Permissions.CanEditObjectInventory(part.UUID, remoteClient.AgentId)) 1174 if (!Permissions.CanEditObjectInventory(partUUID, remoteClient.AgentId))
1171 return; 1175 return;
1172 } 1176 }
1173 else 1177 else
1174 { 1178 {
1175 // If the item is copiable, then we just need to have perms 1179 // If the item is copiable, then we just need to have perms
1176 // on it. The delete check is a pure rights check 1180 // on it. The delete check is a pure rights check
1177 if (!Permissions.CanDeleteObject(part.UUID, remoteClient.AgentId)) 1181 if (!Permissions.CanDeleteObject(partUUID, remoteClient.AgentId))
1178 return; 1182 return;
1179 } 1183 }
1180 1184