diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs index 1d382fa..fb09932 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.Inventory.cs | |||
@@ -124,6 +124,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
124 | taskItem.type = TaskInventoryItem.Types[item.assetType]; | 124 | taskItem.type = TaskInventoryItem.Types[item.assetType]; |
125 | taskItem.inv_type = TaskInventoryItem.Types[item.invType]; | 125 | taskItem.inv_type = TaskInventoryItem.Types[item.invType]; |
126 | part.AddInventoryItem(taskItem); | 126 | part.AddInventoryItem(taskItem); |
127 | |||
128 | // It might seem somewhat crude to update the whole group for a single prim inventory change, | ||
129 | // but it's possible that other prim inventory changes will take place before the region | ||
130 | // persistence thread visits this object. In the future, changes can be signalled at a more | ||
131 | // granular level, or we could let the datastore worry about whether prims have really | ||
132 | // changed since they were last persisted. | ||
133 | HasChanged = true; | ||
134 | |||
127 | return true; | 135 | return true; |
128 | } | 136 | } |
129 | return false; | 137 | return false; |
@@ -146,6 +154,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
146 | taskItem.type = TaskInventoryItem.Types[item.assetType]; | 154 | taskItem.type = TaskInventoryItem.Types[item.assetType]; |
147 | taskItem.inv_type = TaskInventoryItem.InvTypes[item.invType]; | 155 | taskItem.inv_type = TaskInventoryItem.InvTypes[item.invType]; |
148 | part.AddInventoryItem(taskItem); | 156 | part.AddInventoryItem(taskItem); |
157 | |||
158 | // It might seem somewhat crude to update the whole group for a single prim inventory change, | ||
159 | // but it's possible that other prim inventory changes will take place before the region | ||
160 | // persistence thread visits this object. In the future, changes can be signalled at a more | ||
161 | // granular level, or we could let the datastore worry about whether prims have really | ||
162 | // changed since they were last persisted. | ||
163 | HasChanged = true; | ||
164 | |||
149 | return true; | 165 | return true; |
150 | } | 166 | } |
151 | } | 167 | } |
@@ -160,9 +176,19 @@ namespace OpenSim.Region.Environment.Scenes | |||
160 | { | 176 | { |
161 | SceneObjectPart part = GetChildPart(localID); | 177 | SceneObjectPart part = GetChildPart(localID); |
162 | if (part != null) | 178 | if (part != null) |
163 | { | 179 | { |
164 | return part.RemoveInventoryItem(remoteClient, localID, itemID); | 180 | int type = part.RemoveInventoryItem(remoteClient, localID, itemID); |
181 | |||
182 | // It might seem somewhat crude to update the whole group for a single prim inventory change, | ||
183 | // but it's possible that other prim inventory changes will take place before the region | ||
184 | // persistence thread visits this object. In the future, changes can be signalled at a more | ||
185 | // granular level, or we could let the datastore worry about whether prims have really | ||
186 | // changed since they were last persisted. | ||
187 | HasChanged = true; | ||
188 | |||
189 | return type; | ||
165 | } | 190 | } |
191 | |||
166 | return -1; | 192 | return -1; |
167 | } | 193 | } |
168 | } | 194 | } |