diff options
author | Sean Dague | 2007-12-03 20:06:01 +0000 |
---|---|---|
committer | Sean Dague | 2007-12-03 20:06:01 +0000 |
commit | 8f58a9a107047bf9d9aff4d8c25171acaa8e9805 (patch) | |
tree | bde9e5b6c29792d19c487549f99f198709e61bc8 /OpenSim/Framework | |
parent | * Now using interpolation to expand the 256x256 heightfield data to 512x512 b... (diff) | |
download | opensim-SC-8f58a9a107047bf9d9aff4d8c25171acaa8e9805.zip opensim-SC-8f58a9a107047bf9d9aff4d8c25171acaa8e9805.tar.gz opensim-SC-8f58a9a107047bf9d9aff4d8c25171acaa8e9805.tar.bz2 opensim-SC-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 'OpenSim/Framework')
-rw-r--r-- | OpenSim/Framework/IClientAPI.cs | 11 |
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); |