aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorSean Dague2007-12-03 20:06:01 +0000
committerSean Dague2007-12-03 20:06:01 +0000
commit8f58a9a107047bf9d9aff4d8c25171acaa8e9805 (patch)
treebde9e5b6c29792d19c487549f99f198709e61bc8 /OpenSim/Framework
parent* Now using interpolation to expand the 256x256 heightfield data to 512x512 b... (diff)
downloadopensim-SC_OLD-8f58a9a107047bf9d9aff4d8c25171acaa8e9805.zip
opensim-SC_OLD-8f58a9a107047bf9d9aff4d8c25171acaa8e9805.tar.gz
opensim-SC_OLD-8f58a9a107047bf9d9aff4d8c25171acaa8e9805.tar.bz2
opensim-SC_OLD-8f58a9a107047bf9d9aff4d8c25171acaa8e9805.tar.xz
From Justin Casey (IBM)
While exploring what it would take to get the 'new script' button working, I encountered the fact, some way down in the rabbit hole, that if a user renamed an item in their inventory and logged out (without a restart of the simulator), on log in the new name was not preserved. As far as I can see, this was because any updates which didn't occur inside a transaction were ignored by opensim. This patch pays attention to those changes. It generates a new asset when an item is updated and changes the user's inventory properties appropriately. I believe this behaviour is in line with the copy-on-write semantics used in the Second Life protocol - perhaps it could be optimized if we knew for sure that the only copy of the object was in the user's inventory. This also means that if you rename an item (e.g. a script) before you drag it into an object's inventory, the inventory will receive the item's most recent name and description.
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/IClientAPI.cs11
1 files changed, 7 insertions, 4 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index a3177f7..68a0591 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -310,8 +310,9 @@ namespace OpenSim.Framework
310 310
311 public delegate void RequestTaskInventory(IClientAPI remoteClient, uint localID); 311 public delegate void RequestTaskInventory(IClientAPI remoteClient, uint localID);
312 312
313 public delegate void UpdateInventoryItemTransaction( 313 public delegate void UpdateInventoryItem(
314 IClientAPI remoteClient, LLUUID transactionID, LLUUID assetID, LLUUID itemID); 314 IClientAPI remoteClient, LLUUID transactionID, LLUUID itemID, string name, string description,
315 uint nextOwnerMask);
315 316
316 public delegate void CopyInventoryItem( 317 public delegate void CopyInventoryItem(
317 IClientAPI remoteClient, uint callbackID, LLUUID oldAgentID, LLUUID oldItemID, LLUUID newFolderID, string newName); 318 IClientAPI remoteClient, uint callbackID, LLUUID oldAgentID, LLUUID oldItemID, LLUUID newFolderID, string newName);
@@ -392,7 +393,7 @@ namespace OpenSim.Framework
392 event FetchInventoryDescendents OnFetchInventoryDescendents; 393 event FetchInventoryDescendents OnFetchInventoryDescendents;
393 event FetchInventory OnFetchInventory; 394 event FetchInventory OnFetchInventory;
394 event RequestTaskInventory OnRequestTaskInventory; 395 event RequestTaskInventory OnRequestTaskInventory;
395 event UpdateInventoryItemTransaction OnUpdateInventoryItem; 396 event UpdateInventoryItem OnUpdateInventoryItem;
396 event CopyInventoryItem OnCopyInventoryItem; 397 event CopyInventoryItem OnCopyInventoryItem;
397 event UDPAssetUploadRequest OnAssetUploadRequest; 398 event UDPAssetUploadRequest OnAssetUploadRequest;
398 event XferReceive OnXferReceive; 399 event XferReceive OnXferReceive;
@@ -417,6 +418,8 @@ namespace OpenSim.Framework
417 LLUUID AgentId { get; } 418 LLUUID AgentId { get; }
418 419
419 LLUUID SessionId { get; } 420 LLUUID SessionId { get; }
421
422 LLUUID SecureSessionId { get; }
420 423
421 string FirstName { get; } 424 string FirstName { get; }
422 425
@@ -481,7 +484,7 @@ namespace OpenSim.Framework
481 /// <summary> 484 /// <summary>
482 /// Tell the client that we have created the item it requested. 485 /// Tell the client that we have created the item it requested.
483 /// </summary> 486 /// </summary>
484 /// <param name="Item"></param> 487 /// <param name="Item"></param>
485 void SendInventoryItemCreateUpdate(InventoryItemBase Item); 488 void SendInventoryItemCreateUpdate(InventoryItemBase Item);
486 489
487 void SendRemoveInventoryItem(LLUUID itemID); 490 void SendRemoveInventoryItem(LLUUID itemID);