aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Implement co-operative script termination if termination comes during a ↵Justin Clark-Casey (justincc)2013-01-161-3/+23
| | | | | | | | | | script wait event (llSleep(), etc.) This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability. If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread. This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period. Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented. This commit, unlike 1b5c41c, passes the wait handle as an extra parameter through IScript.Initialize() instead of passing IScriptInstance itself.
* Revert "Implement co-operative script termination if termination comes ↵Justin Clark-Casey (justincc)2013-01-161-23/+3
| | | | | | | | during a script wait event (llSleep(), etc.)" Doing this as a favour to Melanie. This will be back with passing the wait handles directly to the api. This reverts commit 1b5c41c14ad11325be249ea1cce3c65d4d6a89be.
* Implement co-operative script termination if termination comes during a ↵Justin Clark-Casey (justincc)2013-01-161-3/+23
| | | | | | | | | script wait event (llSleep(), etc.) This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability. If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread. This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period. Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
* Switched the order by which foreign inventory and foreign assets are brought ↵Diva Canto2012-12-091-6/+4
| | | | in, to avoid race conditions on the client.
* UserManagementModule: search the local cache for names too.Diva Canto2012-12-091-1/+1
| | | | Inventory transfers: don't do async on asset transfers or now.
* Uncomment SceneObjectBasicTests.TestDeleteSceneObjectAsyncToUserInventory() ↵Justin Clark-Casey (justincc)2012-11-101-2/+13
| | | | | | | and make it compile again Not currently in test suite since not yet working. Also add method doc to Scene.DeRezObjects()
* On receiving TaskInventoryAccepted with a destination folder in the binary ↵Justin Clark-Casey (justincc)2012-10-061-1/+1
| | | | | | | | | | | bucket slot for RLV, notify the viewer about inventory folder updates. The viewer would not see the folder move without this, either on accept or decline. This commit also updates the TaskInventoryOffered message to better conform with the data LL uses Changes are, agentID is prim owner rather than prim id, agent name is now simply object name rather than name with owner detail, message is just folder name in single quotes, message is not timestamped. However, folder is not renamed "still #RLV/~<name>". Long term solution is probably not to do these operations server-side. Notes will be added to http://opensimulator.org/mantis/view.php?id=6311
* Log initial script startup info notice when xengine actually starts to do ↵Justin Clark-Casey (justincc)2012-08-251-1/+1
| | | | this for debugging purposes, rather than before it actually starts to do this.
* Fix bad child prim permissions that can make objects change perms after rezzingMelanie2012-08-241-0/+3
| | | | Port from Avination
* refactor: rename SOG.RezzingObjectID to SOG.FromPartID to match ↵Justin Clark-Casey (justincc)2012-08-031-1/+1
| | | | FromFolderID, FromItemID and to reflect that it's a SOP ID rather than a SOG ID.
* reduced-complexity implementation of function to get rezzing object keySignpostMarv2012-08-021-1/+2
| | | | Signed-off-by: Melanie <melanie@t-data.com>
* When copying items, copy the item description field instead of the asset ↵Justin Clark-Casey (justincc)2012-07-261-23/+46
| | | | | | | | description field. If we copy the asset description then we will only ever replicate the very first description, if there was one, not any subsequent changes. Thanks to Oren Hurvitz of Kitely for this patch from http://opensimulator.org/mantis/view.php?id=6107 I have adapted it slightly to change the order of arguments (name before description rather than vice-versa) and slightly improve some method doc.
* Revert "Fix script "Running" behavior"Melanie2012-07-161-14/+0
| | | | | | A better solution using the already present flags must be found. This reverts commit 6d3ee8bb39d47ed7b32e8905fa0b2fc31c5a9f80.
* Fix script "Running" behaviorBlueWall2012-06-231-0/+14
| | | | Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
* Log how many scripts are candidates for starting and how many are actually ↵Justin Clark-Casey (justincc)2012-06-201-4/+17
| | | | | | started. Adds DebugLevel infrastructure to XEngine though currently commented out and unused.
* Record the fact that child agents can have asset transactions.Justin Clark-Casey (justincc)2012-06-071-17/+12
| | | | Also change code to grab the agent asset transaction module once.
* minor: extend commented out LinkInventoryItem log message for future useJustin Clark-Casey (justincc)2012-05-211-5/+5
|
* Improve logging on the prim inventory script asset request path for future use.Justin Clark-Casey (justincc)2012-05-091-0/+4
| | | | This adds name and description of the request handler to http request logging when DebugLevel >= 1
* Add a configuration switch to turn on/off the use of the trashMic Bowman2012-04-251-1/+1
| | | | | | | | | folder when deleting objects from a scene. The use of the trash folder causes assets to be created and stored everytime you delete an object from the scene (slows down the delete and adds mostly useless assets to your database). Default is on (use the trash folder) which is the standard behavior.
* If an AddItem fails, try adding it to the right folder type.Diva Canto2012-04-061-20/+63
|
* refactor: simplify code for checks when part.OwnerID != destPart.OwnerID in ↵Justin Clark-Casey (justincc)2012-03-221-11/+8
| | | | MoveTaskInventoryItem()
* Fix llGiveInventory() so that it checks the destination part for ↵Justin Clark-Casey (justincc)2012-03-221-5/+5
| | | | | | | AllowInventoryDrop, not the source. This allows llAllowInventoryDrop() to work. Regression test added for this case.
* More on HG inventory transfers. Move the FireAndForget higher up.Diva Canto2012-03-091-1/+1
|
* Restore the taskItem null check that I accidentally blatted in 5397a6dJustin Clark-Casey (justincc)2012-02-211-0/+9
| | | | This is a valid check because the caller could supply an invalid uuid.
* Fix problem with dragging child part inventory item to user inventory.Justin Clark-Casey (justincc)2012-02-211-11/+1
| | | | | This fixes the problem by fixing the permissions module to look at root part permissions rather than having to do this for every caller. Resolves http://opensimulator.org/mantis/view.php?id=5569
* Revert "Fix:Cannot drag inventory from child prim into inventory ↵Justin Clark-Casey (justincc)2012-02-211-8/+4
| | | | | | | | http://opensimulator.org/mantis/view.php?id=5569" This reverts commit 15ce73caca9ea6448e34b95d344cbbf5c9507f6d. As per the COMMENTS in http://opensimulator.org/mantis/view.php?id=5569, I was going to fix this in a more general way.
* Fix:Cannot drag inventory from child prim into inventory ↵PixelTomsen2012-02-211-4/+8
| | | | http://opensimulator.org/mantis/view.php?id=5569
* Add new and updated script eventsRobert Adams2012-02-171-0/+12
|
* Fix: Object owned by the group does not return to the last owner ↵PixelTomsen2012-02-161-1/+1
| | | | http://opensimulator.org/mantis/view.php?id=5404
* When an asset is uploaded (e.g. a mesh) set individual copy/move/transfer ↵Justin Clark-Casey (justincc)2012-02-101-0/+9
| | | | | | | | permissions, not PermissionMask.All Setting PermissionMask.All will cause next permissions to replace current permissions when the object is rezzed, since bit 4 will be set. This is not correct behaviour for a freshly uploaded mesh. Freshly rezzed in-world prims also do not have bit 4 set (don't yet know exactly what this is). Should resolve http://opensimulator.org/mantis/view.php?id=5651
* Stop a scene object from attempting to link with itself (which results in an ↵Justin Clark-Casey (justincc)2012-02-081-2/+19
| | | | | | exception and constant complaints in v3 viewers). Aims to address http://opensimulator.org/mantis/view.php?id=5878
* Only look for an uploaded transactional asset in Scene.UpdateTaskInventory ↵Justin Clark-Casey (justincc)2012-02-041-20/+19
| | | | | | | | if we have been passed a non-zero transaction ID. This resolves the recent regression from deeb728 where notecards could not be saved in prim inventories. This looks like a better solution than deeb728 since only non-caps updates pass in a transaction ID. Hopefully resolves http://opensimulator.org/mantis/view.php?id=5873
* Comment out xfer section in Scene.UpdateTaskInventory() which was causing ↵Justin Clark-Casey (justincc)2012-01-281-13/+20
| | | | | | | | | spurious errors and "script saved" messages when script properties were changed. Viewers since at least Linden Lab 1.23 use the script upload capability to save script changes. It's unknown whether the commented out code was working for very old viewers or not. Code is commented out to reduce complexity and so that useful error messages don't need to be removed. If there is a substantial population using extremely old viewers that can't upgrade to a newer version 1 viewer (e.g. 1.23) or similar TPV then this can be revisited.
* Add basic TestAddScript() regression testJustin Clark-Casey (justincc)2012-01-261-0/+11
|
* refactor: change RezScriptFromAgentInventory(), RezNewScript() and ↵Justin Clark-Casey (justincc)2012-01-261-20/+30
| | | | | | AddInventoryItem() to accept an agent id rather than a full IClientAPI. This stops some code having to make spurious client == null checks and reduces regression test complexity.
* refactor: decompose most of RezScript() into RezScriptFromAgentInventory(), ↵Justin Clark-Casey (justincc)2012-01-251-79/+95
| | | | RezNewScript() and rename one RezScript() to RezScriptFromPrim()
* If dragging a script that is no copy from prim inventory into agentMelanie2012-01-061-16/+39
| | | | | inventory, stop it first in scene. If deleting from prims, move to trash rather then making it poof.
* Move client id check in Scene.Inventory.cs:UpdateInventoryItemAsset so that ↵Justin Clark-Casey (justincc)2011-12-091-4/+6
| | | | | | it doesn't trigger an exception if the item hasn't been found. In this situation we will now put out a slightly more meaningful log error message instead.
* Stop an exception being thrown and a teleport/border cross failing if the ↵Justin Clark-Casey (justincc)2011-11-221-10/+3
| | | | | | | desintation sim has no active script engines. This involves getting IScene.RequestModuleInterfaces() to return an empty array (as was stated in the method doc) rather than an array containing one null entry. Callers adjusted to stop checking for the list reference being null (which never happened anyway)
* Fix avatar parameter updating for viewer 3 and maybe 2.Justin Clark-Casey (justincc)2011-09-231-2/+5
| | | | | | | | | When a slider parameter is changed, the viewer uploads a new shape (or other asset) and the item is updated to point to it. Viewer 1 uploaded the data in the initial request itself, so the asset references was almost always correctly updated. However, viewer 3/2 always uploads data in a subsequent xfer, which exposed a race condition where the viewer would make the item update before the asset had uploaded. This commit shuffles the order of operations to avoid this race, the item is updated with the new asset id instead of the old one while the upload was still taking place. A second race had to be fixed where avatar appearance would also be updated with the old asset id rather than the new one. This was fixed by updating the avatar appearance ids when the appearance was actually saved, rather than when the wearables update was made.
* refactor: rename SOG/SOP.GetProperties() to SendPropertiesToClient() to ↵Justin Clark-Casey (justincc)2011-09-151-9/+9
| | | | | | reflect what it actually does This also makes it consistent with some other methods that send data to the client.
* Delay loading scripts until the scene has finished loadingOren Hurvitz2011-09-091-2/+22
|
* Remove pointless cluttering SOP.ParentGroup != null checks.Justin Clark-Casey (justincc)2011-09-011-33/+16
| | | | | The only times when ParentGroup might be null is during regression tests (which might not be a valid thing) and when scene objects are being constructed from the database. At all other times it's not possible for a SOP not to have a SOG parent.
* Related to #4689 - Adding missing null check for SceneObjectPartMakopoppo2011-08-271-0/+8
| | | | Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* refactor: move Scene.Inventory.attachObjectAssetStore() into ↵Justin Clark-Casey (justincc)2011-08-241-84/+0
| | | | AttachmentsModule.AddSceneObjectAsAttachment()
* get rid of pointless grp null check in attachObjectAssetStore()Justin Clark-Casey (justincc)2011-08-241-73/+69
|
* minor: remove hardcoded region numbers with the region size constant and a ↵Justin Clark-Casey (justincc)2011-08-241-2/+2
| | | | currently hardcoded offset
* refactor: remove pointless AgentId argument from attachObjectAssetStore()Justin Clark-Casey (justincc)2011-08-241-1/+1
|
* Fix llAttachToAvatar()Justin Clark-Casey (justincc)2011-08-241-3/+11
| | | | | | Apart from one obvious bug, this was failing because attempting to serialize the script from inside the script (as part of saving the attachment as an inventory asset) was triggering an extremely long delay. So we now don't do this. The state will be serialized anyway when the avatar normally logs out. The worst that can happen is that if the client/server crashes, the attachment scripts start without previous state.
* Remove manually permissions settings on all current library items so that ↵Justin Clark-Casey (justincc)2011-07-231-1/+4
| | | | | | | they use the defaults instead. Some items had completely wrong permissions - this is easier than correcting them all. The ability to set permissions in xml is retained since there are use cases for this (e.g. to create no-mod library scripts)