aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorTeravus Ovares2008-04-30 16:08:24 +0000
committerTeravus Ovares2008-04-30 16:08:24 +0000
commita9cc76e0efba7496909d613c75b81de6a9c5d979 (patch)
treee83763d4dfb3b78ead9b5926dce1d2468b496845 /OpenSim/Region
parentmove IUserService into the OpenSim.Framework.Communications assembly (diff)
downloadopensim-SC-a9cc76e0efba7496909d613c75b81de6a9c5d979.zip
opensim-SC-a9cc76e0efba7496909d613c75b81de6a9c5d979.tar.gz
opensim-SC-a9cc76e0efba7496909d613c75b81de6a9c5d979.tar.bz2
opensim-SC-a9cc76e0efba7496909d613c75b81de6a9c5d979.tar.xz
* Long awaited patch from A_Biondi Mantis 923. Kept alive by Melanie. Thanks A_Biondi and Melanie!
* This builds but might not work. JustinCC will examine.. it may work out of the box.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs84
-rw-r--r--OpenSim/Region/Communications/Local/LocalInventoryService.cs5
-rw-r--r--OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs15
-rw-r--r--OpenSim/Region/Environment/Modules/AgentAssetsTransactions.cs3
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs33
5 files changed, 110 insertions, 30 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index aac96d1..010a37f 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -1284,21 +1284,25 @@ namespace OpenSim.Region.ClientStack
1284 descend.ItemData[i].AssetID = item.AssetID; 1284 descend.ItemData[i].AssetID = item.AssetID;
1285 descend.ItemData[i].CreatorID = item.Creator; 1285 descend.ItemData[i].CreatorID = item.Creator;
1286 descend.ItemData[i].BaseMask = item.BasePermissions; 1286 descend.ItemData[i].BaseMask = item.BasePermissions;
1287 descend.ItemData[i].CreationDate = 1000;
1288 descend.ItemData[i].Description = Helpers.StringToField(item.Description); 1287 descend.ItemData[i].Description = Helpers.StringToField(item.Description);
1289 descend.ItemData[i].EveryoneMask = item.EveryOnePermissions; 1288 descend.ItemData[i].EveryoneMask = item.EveryOnePermissions;
1290 descend.ItemData[i].Flags = 1; 1289 descend.ItemData[i].OwnerMask = item.CurrentPermissions;
1291 descend.ItemData[i].FolderID = item.Folder; 1290 descend.ItemData[i].FolderID = item.Folder;
1292 descend.ItemData[i].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000"); 1291 descend.ItemData[i].InvType = (sbyte)item.InvType;
1293 descend.ItemData[i].GroupMask = 0;
1294 descend.ItemData[i].InvType = (sbyte) item.InvType;
1295 descend.ItemData[i].Name = Helpers.StringToField(item.Name); 1292 descend.ItemData[i].Name = Helpers.StringToField(item.Name);
1296 descend.ItemData[i].NextOwnerMask = item.NextPermissions; 1293 descend.ItemData[i].NextOwnerMask = item.NextPermissions;
1297 descend.ItemData[i].OwnerID = item.Owner; 1294 descend.ItemData[i].OwnerID = item.Owner;
1298 descend.ItemData[i].OwnerMask = item.CurrentPermissions; 1295 descend.ItemData[i].Type = (sbyte)item.AssetType;
1299 descend.ItemData[i].SalePrice = 0; 1296
1300 descend.ItemData[i].SaleType = 0; 1297 //descend.ItemData[i].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000");
1301 descend.ItemData[i].Type = (sbyte) item.AssetType; 1298 descend.ItemData[i].GroupID = item.GroupID;
1299 descend.ItemData[i].GroupOwned = item.GroupOwned;
1300 descend.ItemData[i].GroupMask = 0;
1301 descend.ItemData[i].CreationDate = item.CreationDate;
1302 descend.ItemData[i].SalePrice = item.SalePrice;
1303 descend.ItemData[i].SaleType = item.SaleType;
1304 descend.ItemData[i].Flags = item.Flags;
1305
1302 descend.ItemData[i].CRC = 1306 descend.ItemData[i].CRC =
1303 Helpers.InventoryCRC(descend.ItemData[i].CreationDate, descend.ItemData[i].SaleType, 1307 Helpers.InventoryCRC(descend.ItemData[i].CreationDate, descend.ItemData[i].SaleType,
1304 descend.ItemData[i].InvType, descend.ItemData[i].Type, 1308 descend.ItemData[i].InvType, descend.ItemData[i].Type,
@@ -1433,18 +1437,22 @@ namespace OpenSim.Region.ClientStack
1433 (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds; 1437 (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
1434 inventoryReply.InventoryData[0].Description = Helpers.StringToField(item.Description); 1438 inventoryReply.InventoryData[0].Description = Helpers.StringToField(item.Description);
1435 inventoryReply.InventoryData[0].EveryoneMask = item.EveryOnePermissions; 1439 inventoryReply.InventoryData[0].EveryoneMask = item.EveryOnePermissions;
1436 inventoryReply.InventoryData[0].Flags = 0;
1437 inventoryReply.InventoryData[0].FolderID = item.Folder; 1440 inventoryReply.InventoryData[0].FolderID = item.Folder;
1438 inventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000");
1439 inventoryReply.InventoryData[0].GroupMask = 0;
1440 inventoryReply.InventoryData[0].InvType = (sbyte)item.InvType; 1441 inventoryReply.InventoryData[0].InvType = (sbyte)item.InvType;
1441 inventoryReply.InventoryData[0].Name = Helpers.StringToField(item.Name); 1442 inventoryReply.InventoryData[0].Name = Helpers.StringToField(item.Name);
1442 inventoryReply.InventoryData[0].NextOwnerMask = item.NextPermissions; 1443 inventoryReply.InventoryData[0].NextOwnerMask = item.NextPermissions;
1443 inventoryReply.InventoryData[0].OwnerID = item.Owner; 1444 inventoryReply.InventoryData[0].OwnerID = item.Owner;
1444 inventoryReply.InventoryData[0].OwnerMask = item.CurrentPermissions; 1445 inventoryReply.InventoryData[0].OwnerMask = item.CurrentPermissions;
1445 inventoryReply.InventoryData[0].SalePrice = 0;
1446 inventoryReply.InventoryData[0].SaleType = 0;
1447 inventoryReply.InventoryData[0].Type = (sbyte)item.AssetType; 1446 inventoryReply.InventoryData[0].Type = (sbyte)item.AssetType;
1447
1448 //inventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000");
1449 inventoryReply.InventoryData[0].GroupID = item.GroupID;
1450 inventoryReply.InventoryData[0].GroupOwned = item.GroupOwned;
1451 inventoryReply.InventoryData[0].GroupMask = 0;
1452 inventoryReply.InventoryData[0].Flags = item.Flags;
1453 inventoryReply.InventoryData[0].SalePrice = item.SalePrice;
1454 inventoryReply.InventoryData[0].SaleType = item.SaleType;
1455
1448 inventoryReply.InventoryData[0].CRC = 1456 inventoryReply.InventoryData[0].CRC =
1449 Helpers.InventoryCRC(1000, 0, inventoryReply.InventoryData[0].InvType, 1457 Helpers.InventoryCRC(1000, 0, inventoryReply.InventoryData[0].InvType,
1450 inventoryReply.InventoryData[0].Type, inventoryReply.InventoryData[0].AssetID, 1458 inventoryReply.InventoryData[0].Type, inventoryReply.InventoryData[0].AssetID,
@@ -1484,18 +1492,22 @@ namespace OpenSim.Region.ClientStack
1484 bulkUpdate.ItemData[0].CreationDate = 1000; 1492 bulkUpdate.ItemData[0].CreationDate = 1000;
1485 bulkUpdate.ItemData[0].Description = Helpers.StringToField(item.Description); 1493 bulkUpdate.ItemData[0].Description = Helpers.StringToField(item.Description);
1486 bulkUpdate.ItemData[0].EveryoneMask = item.EveryOnePermissions; 1494 bulkUpdate.ItemData[0].EveryoneMask = item.EveryOnePermissions;
1487 bulkUpdate.ItemData[0].Flags = 0;
1488 bulkUpdate.ItemData[0].FolderID = item.Folder; 1495 bulkUpdate.ItemData[0].FolderID = item.Folder;
1489 bulkUpdate.ItemData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000");
1490 bulkUpdate.ItemData[0].GroupMask = 0;
1491 bulkUpdate.ItemData[0].InvType = (sbyte)item.InvType; 1496 bulkUpdate.ItemData[0].InvType = (sbyte)item.InvType;
1492 bulkUpdate.ItemData[0].Name = Helpers.StringToField(item.Name); 1497 bulkUpdate.ItemData[0].Name = Helpers.StringToField(item.Name);
1493 bulkUpdate.ItemData[0].NextOwnerMask = item.NextPermissions; 1498 bulkUpdate.ItemData[0].NextOwnerMask = item.NextPermissions;
1494 bulkUpdate.ItemData[0].OwnerID = item.Owner; 1499 bulkUpdate.ItemData[0].OwnerID = item.Owner;
1495 bulkUpdate.ItemData[0].OwnerMask = item.CurrentPermissions; 1500 bulkUpdate.ItemData[0].OwnerMask = item.CurrentPermissions;
1496 bulkUpdate.ItemData[0].SalePrice = 100;
1497 bulkUpdate.ItemData[0].SaleType = 0;
1498 bulkUpdate.ItemData[0].Type = (sbyte)item.AssetType; 1501 bulkUpdate.ItemData[0].Type = (sbyte)item.AssetType;
1502
1503 //bulkUpdate.ItemData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000");
1504 bulkUpdate.ItemData[0].GroupID = item.GroupID;
1505 bulkUpdate.ItemData[0].GroupOwned = item.GroupOwned;
1506 bulkUpdate.ItemData[0].GroupMask = 0;
1507 bulkUpdate.ItemData[0].Flags = item.Flags;
1508 bulkUpdate.ItemData[0].SalePrice = item.SalePrice;
1509 bulkUpdate.ItemData[0].SaleType = item.SaleType;
1510
1499 bulkUpdate.ItemData[0].CRC = 1511 bulkUpdate.ItemData[0].CRC =
1500 Helpers.InventoryCRC(1000, 0, bulkUpdate.ItemData[0].InvType, 1512 Helpers.InventoryCRC(1000, 0, bulkUpdate.ItemData[0].InvType,
1501 bulkUpdate.ItemData[0].Type, bulkUpdate.ItemData[0].AssetID, 1513 bulkUpdate.ItemData[0].Type, bulkUpdate.ItemData[0].AssetID,
@@ -1526,21 +1538,24 @@ namespace OpenSim.Region.ClientStack
1526 InventoryReply.InventoryData[0].AssetID = Item.AssetID; 1538 InventoryReply.InventoryData[0].AssetID = Item.AssetID;
1527 InventoryReply.InventoryData[0].CreatorID = Item.Creator; 1539 InventoryReply.InventoryData[0].CreatorID = Item.Creator;
1528 InventoryReply.InventoryData[0].BaseMask = Item.BasePermissions; 1540 InventoryReply.InventoryData[0].BaseMask = Item.BasePermissions;
1529 InventoryReply.InventoryData[0].CreationDate = 1000;
1530 InventoryReply.InventoryData[0].Description = Helpers.StringToField(Item.Description); 1541 InventoryReply.InventoryData[0].Description = Helpers.StringToField(Item.Description);
1531 InventoryReply.InventoryData[0].EveryoneMask = Item.EveryOnePermissions; 1542 InventoryReply.InventoryData[0].EveryoneMask = Item.EveryOnePermissions;
1532 InventoryReply.InventoryData[0].Flags = 0;
1533 InventoryReply.InventoryData[0].FolderID = Item.Folder; 1543 InventoryReply.InventoryData[0].FolderID = Item.Folder;
1534 InventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000");
1535 InventoryReply.InventoryData[0].GroupMask = 0;
1536 InventoryReply.InventoryData[0].InvType = (sbyte)Item.InvType; 1544 InventoryReply.InventoryData[0].InvType = (sbyte)Item.InvType;
1537 InventoryReply.InventoryData[0].Name = Helpers.StringToField(Item.Name); 1545 InventoryReply.InventoryData[0].Name = Helpers.StringToField(Item.Name);
1538 InventoryReply.InventoryData[0].NextOwnerMask = Item.NextPermissions; 1546 InventoryReply.InventoryData[0].NextOwnerMask = Item.NextPermissions;
1539 InventoryReply.InventoryData[0].OwnerID = Item.Owner; 1547 InventoryReply.InventoryData[0].OwnerID = Item.Owner;
1540 InventoryReply.InventoryData[0].OwnerMask = Item.CurrentPermissions; 1548 InventoryReply.InventoryData[0].OwnerMask = Item.CurrentPermissions;
1541 InventoryReply.InventoryData[0].SalePrice = 100;
1542 InventoryReply.InventoryData[0].SaleType = 0;
1543 InventoryReply.InventoryData[0].Type = (sbyte)Item.AssetType; 1549 InventoryReply.InventoryData[0].Type = (sbyte)Item.AssetType;
1550
1551 //InventoryReply.InventoryData[0].GroupID = new LLUUID("00000000-0000-0000-0000-000000000000");
1552 InventoryReply.InventoryData[0].GroupID = Item.GroupID;
1553 InventoryReply.InventoryData[0].GroupOwned = Item.GroupOwned;
1554 InventoryReply.InventoryData[0].GroupMask = 0;
1555 InventoryReply.InventoryData[0].Flags = Item.Flags;
1556 InventoryReply.InventoryData[0].SalePrice = Item.SalePrice;
1557 InventoryReply.InventoryData[0].SaleType = Item.SaleType;
1558
1544 InventoryReply.InventoryData[0].CRC = 1559 InventoryReply.InventoryData[0].CRC =
1545 Helpers.InventoryCRC(1000, 0, InventoryReply.InventoryData[0].InvType, 1560 Helpers.InventoryCRC(1000, 0, InventoryReply.InventoryData[0].InvType,
1546 InventoryReply.InventoryData[0].Type, InventoryReply.InventoryData[0].AssetID, 1561 InventoryReply.InventoryData[0].Type, InventoryReply.InventoryData[0].AssetID,
@@ -4162,11 +4177,30 @@ namespace OpenSim.Region.ClientStack
4162 4177
4163 if (handlerUpdateInventoryItem != null) 4178 if (handlerUpdateInventoryItem != null)
4164 { 4179 {
4180 InventoryItemBase itemUpd = new InventoryItemBase();
4181 itemUpd.ID = update.InventoryData[i].ItemID;
4182 itemUpd.Name = Util.FieldToString(update.InventoryData[i].Name);
4183 itemUpd.Description = Util.FieldToString(update.InventoryData[i].Description);
4184 itemUpd.GroupID = update.InventoryData[i].GroupID;
4185 itemUpd.GroupOwned = update.InventoryData[i].GroupOwned;
4186 itemUpd.NextPermissions = update.InventoryData[i].NextOwnerMask;
4187 itemUpd.EveryOnePermissions = update.InventoryData[i].EveryoneMask;
4188 itemUpd.CreationDate = update.InventoryData[i].CreationDate;
4189 itemUpd.Folder = update.InventoryData[i].FolderID;
4190 itemUpd.InvType = update.InventoryData[i].InvType;
4191 itemUpd.SalePrice = update.InventoryData[i].SalePrice;
4192 itemUpd.SaleType = update.InventoryData[i].SaleType;
4193 itemUpd.Flags = update.InventoryData[i].Flags;
4194 /*
4165 OnUpdateInventoryItem(this, update.InventoryData[i].TransactionID, 4195 OnUpdateInventoryItem(this, update.InventoryData[i].TransactionID,
4166 update.InventoryData[i].ItemID, 4196 update.InventoryData[i].ItemID,
4167 Util.FieldToString(update.InventoryData[i].Name), 4197 Util.FieldToString(update.InventoryData[i].Name),
4168 Util.FieldToString(update.InventoryData[i].Description), 4198 Util.FieldToString(update.InventoryData[i].Description),
4169 update.InventoryData[i].NextOwnerMask); 4199 update.InventoryData[i].NextOwnerMask);
4200 */
4201 OnUpdateInventoryItem(this, update.InventoryData[i].TransactionID,
4202 update.InventoryData[i].ItemID,
4203 itemUpd);
4170 } 4204 }
4171 } 4205 }
4172 } 4206 }
diff --git a/OpenSim/Region/Communications/Local/LocalInventoryService.cs b/OpenSim/Region/Communications/Local/LocalInventoryService.cs
index 175829b..0de00a1 100644
--- a/OpenSim/Region/Communications/Local/LocalInventoryService.cs
+++ b/OpenSim/Region/Communications/Local/LocalInventoryService.cs
@@ -95,6 +95,11 @@ namespace OpenSim.Region.Communications.Local
95 AddItem(item); 95 AddItem(item);
96 } 96 }
97 97
98 public override void UpdateInventoryItem(LLUUID userID, InventoryItemBase item)
99 {
100 UpdateItem(item);
101 }
102
98 public override void DeleteInventoryItem(LLUUID userID, InventoryItemBase item) 103 public override void DeleteInventoryItem(LLUUID userID, InventoryItemBase item)
99 { 104 {
100 DeleteItem(item); 105 DeleteItem(item);
diff --git a/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs b/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs
index 65f3ee3..5b72f0d 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1InventoryService.cs
@@ -229,6 +229,21 @@ namespace OpenSim.Region.Communications.OGS1
229 } 229 }
230 } 230 }
231 231
232 // TODO: this is a temporary workaround, the UpdateInventoryItem method need to be implemented
233 public void UpdateInventoryItem(LLUUID userID, InventoryItemBase item)
234 {
235 try
236 {
237 SynchronousRestObjectPoster.BeginPostObject<InventoryItemBase, bool>(
238 "POST", _inventoryServerUrl + "/NewItem/", item);
239 }
240 catch (System.Net.WebException e)
241 {
242 m_log.ErrorFormat("[OGS1 INVENTORY SERVICE]: Add new inventory item operation failed, {0} {1}",
243 e.Source, e.Message);
244 }
245 }
246
232 /// <summary> 247 /// <summary>
233 /// <see cref="OpenSim.Framework.Communications.IInventoryServices"></see> 248 /// <see cref="OpenSim.Framework.Communications.IInventoryServices"></see>
234 /// </summary> 249 /// </summary>
diff --git a/OpenSim/Region/Environment/Modules/AgentAssetsTransactions.cs b/OpenSim/Region/Environment/Modules/AgentAssetsTransactions.cs
index 4d2ec5b..9fa173d 100644
--- a/OpenSim/Region/Environment/Modules/AgentAssetsTransactions.cs
+++ b/OpenSim/Region/Environment/Modules/AgentAssetsTransactions.cs
@@ -150,6 +150,7 @@ namespace OpenSim.Region.Environment.Modules
150 private string m_description = String.Empty; 150 private string m_description = String.Empty;
151 private sbyte type = 0; 151 private sbyte type = 0;
152 private sbyte invType = 0; 152 private sbyte invType = 0;
153 private byte wearableType = 0;
153 private uint nextPerm = 0; 154 private uint nextPerm = 0;
154 private bool m_finished = false; 155 private bool m_finished = false;
155 private bool m_createItem = false; 156 private bool m_createItem = false;
@@ -314,6 +315,7 @@ namespace OpenSim.Region.Environment.Modules
314 m_description = description; 315 m_description = description;
315 this.type = type; 316 this.type = type;
316 this.invType = invType; 317 this.invType = invType;
318 this.wearableType = wearableType;
317 nextPerm = nextOwnerMask; 319 nextPerm = nextOwnerMask;
318 Asset.Name = name; 320 Asset.Name = name;
319 Asset.Description = description; 321 Asset.Description = description;
@@ -386,6 +388,7 @@ namespace OpenSim.Region.Environment.Modules
386 item.BasePermissions = 2147483647; 388 item.BasePermissions = 2147483647;
387 item.CurrentPermissions = 2147483647; 389 item.CurrentPermissions = 2147483647;
388 item.NextPermissions = nextPerm; 390 item.NextPermissions = nextPerm;
391 item.Flags = (uint)wearableType;
389 392
390 userInfo.AddItem(ourClient.AgentId, item); 393 userInfo.AddItem(ourClient.AgentId, item);
391 ourClient.SendInventoryItemCreateUpdate(item); 394 ourClient.SendInventoryItemCreateUpdate(item);
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index d41ede1..7e1b89f 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -260,9 +260,11 @@ namespace OpenSim.Region.Environment.Scenes
260 /// <param name="name">The name of the updated item</param> 260 /// <param name="name">The name of the updated item</param>
261 /// <param name="description">The description of the updated item</param> 261 /// <param name="description">The description of the updated item</param>
262 /// <param name="nextOwnerMask">The permissions of the updated item</param> 262 /// <param name="nextOwnerMask">The permissions of the updated item</param>
263 public void UpdateInventoryItemAsset(IClientAPI remoteClient, LLUUID transactionID, 263/* public void UpdateInventoryItemAsset(IClientAPI remoteClient, LLUUID transactionID,
264 LLUUID itemID, string name, string description, 264 LLUUID itemID, string name, string description,
265 uint nextOwnerMask) 265 uint nextOwnerMask)*/
266 public void UpdateInventoryItemAsset(IClientAPI remoteClient, LLUUID transactionID,
267 LLUUID itemID, InventoryItemBase itemUpd)
266 { 268 {
267 CachedUserInfo userInfo 269 CachedUserInfo userInfo
268 = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId); 270 = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId);
@@ -275,9 +277,22 @@ namespace OpenSim.Region.Environment.Scenes
275 { 277 {
276 if (LLUUID.Zero == transactionID) 278 if (LLUUID.Zero == transactionID)
277 { 279 {
278 item.Name = name; 280 item.Name = itemUpd.Name;
279 item.Description = description; 281 item.Description = itemUpd.Description;
280 item.NextPermissions = nextOwnerMask; 282 item.NextPermissions = itemUpd.NextPermissions;
283 item.EveryOnePermissions = itemUpd.EveryOnePermissions;
284
285 // TODO: Requires sanity checks
286 //item.GroupID = itemUpd.GroupID;
287 //item.GroupOwned = itemUpd.GroupOwned;
288 //item.CreationDate = itemUpd.CreationDate;
289
290 // TODO: Check if folder changed and move item
291 //item.NextPermissions = itemUpd.Folder;
292 item.InvType = itemUpd.InvType;
293 item.SalePrice = itemUpd.SalePrice;
294 item.SaleType = itemUpd.SaleType;
295 item.Flags = itemUpd.Flags;
281 296
282 userInfo.UpdateItem(remoteClient.AgentId, item); 297 userInfo.UpdateItem(remoteClient.AgentId, item);
283 } 298 }
@@ -351,6 +366,12 @@ namespace OpenSim.Region.Environment.Scenes
351 itemCopy.BasePermissions = item.BasePermissions; 366 itemCopy.BasePermissions = item.BasePermissions;
352 itemCopy.CurrentPermissions = item.CurrentPermissions; 367 itemCopy.CurrentPermissions = item.CurrentPermissions;
353 368
369 itemCopy.GroupID = item.GroupID;
370 itemCopy.GroupOwned = item.GroupOwned;
371 itemCopy.Flags = item.Flags;
372 itemCopy.SalePrice = item.SalePrice;
373 itemCopy.SaleType = item.SaleType;
374
354 recipientUserInfo.AddItem(recipientClient.AgentId, itemCopy); 375 recipientUserInfo.AddItem(recipientClient.AgentId, itemCopy);
355 376
356 // Let the recipient client know about this new item 377 // Let the recipient client know about this new item
@@ -988,6 +1009,8 @@ namespace OpenSim.Region.Environment.Scenes
988 item.NextPermissions = objectGroup.RootPart.NextOwnerMask; 1009 item.NextPermissions = objectGroup.RootPart.NextOwnerMask;
989 } 1010 }
990 1011
1012 // TODO: add the new fields (Flags, Sale info, etc)
1013
991 userInfo.AddItem(remoteClient.AgentId, item); 1014 userInfo.AddItem(remoteClient.AgentId, item);
992 remoteClient.SendInventoryItemCreateUpdate(item); 1015 remoteClient.SendInventoryItemCreateUpdate(item);
993 } 1016 }