Melanie
f71ed7eb79
Fix scripted detach of temp attachments
2012-08-20 15:35:06 +02:00
Melanie
053e7279ca
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-08-14 02:11:13 +01:00
Melanie
9bd2c1b88a
As per lindn spec, disable detach and drop for temp attachments
2012-08-14 01:12:27 +01:00
Melanie
fe4c3a37c0
Lay some groundwork for temp attachments. Decouple attachments from inventory.
2012-08-14 00:12:15 +01:00
Melanie
6930d696e9
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
2012-07-25 18:19:12 +01:00
Justin Clark-Casey (justincc)
c846a5461c
Remove bad using statement in AttachmentsModuleTests.
...
It seems that the mono 2.10.8.1 doesn't choke on this but for some reason 2.4.3 fails.
2012-07-24 22:46:22 +01:00
Justin Clark-Casey (justincc)
c992629576
extend regression TestRezScriptedAttachmentFromInventory() to check actual start of script rather than just the script status reported by SOG.ContainsScripts()
2012-07-24 22:40:06 +01:00
Justin Clark-Casey (justincc)
2858b1b1f4
extend regression TestDetachScriptedAttachementToInventory() to check correct running status on a re-rezzed attachment
2012-07-24 22:33:54 +01:00
Melanie
d69f186f5a
Merge branch 'avination' into careminster
2012-07-23 21:55:18 +01:00
Melanie
e126915bc1
Change attachment handling to remove object from the scene first as per
...
justincc's original work. Sample scripts before doing so. Also refactor some
crucial common code and eliminate parameters that were only ever used with
the same constant value.
2012-07-23 21:39:26 +01:00
Melanie
9e00e2ddec
Change attachment handling to remove object from the scene first as per
...
justincc's original work. Sample scripts before doing so. Also refactor some
crucial common code and eliminate parameters that were only ever used with
the same constant value.
2012-07-23 21:08:02 +02:00
Melanie
1598f9d179
Fix the order of operations on detach. The object must always be serialized
...
while still in the scene to avoid losing important script state.
DeleteSceneObject can not be called before doing this!
2012-07-20 16:45:24 +02:00
Melanie
fe99948c58
Fix the order of operations on detach. The object must always be serialized
...
while still in the scene to avoid losing important script state.
DeleteSceneObject can not be called before doing this!
2012-07-20 11:54:59 +02:00
Melanie
d98c883f86
Merge branch 'master' into careminster
2012-07-20 10:42:54 +01:00
Melanie
36d744e2a5
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2012-07-19 09:47:51 +01:00
Justin Clark-Casey (justincc)
356d597296
Restore update of inventory item on derez/logout. This is necessary to update the name if this has been changed whilst attached.
...
Note, this behaviour appears to be at variance with the ll grid as of Tues 17 July 2012, testing with viewer 3.2.1.
The item name in inventory does not change either at the point of detach or after a relog.
2012-07-17 00:17:51 +01:00
Justin Clark-Casey (justincc)
b6476eaac3
Stop sending the viewer an inventory create message if a known attachment item is updated.
...
This doesn't seem to make any sense and probably stems from a period when this code was directly involved in attaching objects directly from the scene.
This message is already being sent by InventoryAccessModule code instead.
2012-07-17 00:00:26 +01:00
Melanie
d632fd7124
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
2012-07-12 08:55:16 +01:00
Justin Clark-Casey (justincc)
33cff9b9d7
Allow XEngine StartDelay to be configured in the [XEngine] config section.
...
This is only currently meant for use by regression tests that don't have any issues if XEngine is started up quickly, since no other operations will be occuring simultaneously.
Therefore, this is not yet documented externally.
2012-07-11 21:55:18 +01:00
Justin Clark-Casey (justincc)
fc24563206
Add regression TestDetachScriptedAttachmentToInventory()
...
This currently only does a relatively crude check for a ScriptState node in the serialized xml
2012-07-11 21:43:35 +01:00
Justin Clark-Casey (justincc)
14d05dc2a9
Add regression TestRezScriptedAttachmentsFromInventory() though this currently only checks for the presence of script items, not for started scripts
2012-07-11 19:54:40 +01:00
Melanie
0bc8238a6c
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/Watchdog.cs
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
2012-07-11 03:56:50 +01:00
Justin Clark-Casey (justincc)
f3134b5cf6
When an attachment is detached to inv or derezzed, stop the scripts, update the known item with script state still in the script engine and then remove the scripts.
...
This is to fix a regression starting from 5301648 where attachments had to start being deleted before persistence in order to avoid race conditions with hud update threads.
2012-07-10 22:41:11 +01:00
Justin Clark-Casey (justincc)
2eaa6d5ace
Do not allow a script to attach a prim if its being sat upon.
...
This prevents a stack overflow where a get position on the avatar will refer to the attachment which will in turn refer back to the avatar.
This required recording of all sitting avatars on a prim which is done separately from recording the sit target avatar.
Recording HashSet is null if there are no sitting avatars in order to save memory.
2012-07-09 21:24:32 +01:00
Justin Clark-Casey (justincc)
74014a3854
minor: Remove some wrong comments in attachments regression tests
2012-07-06 23:13:00 +01:00
Justin Clark-Casey (justincc)
056c9a59b2
Add assert to attachment regression tests to check that number of objects in the scene graph
2012-07-06 23:07:50 +01:00
Justin Clark-Casey (justincc)
f6e5791ecd
refactor: extract method UpdateUserInventoryWithAttachment() from AttachObject() for better code comprehension
2012-07-06 22:07:19 +01:00
Melanie
5776351f6a
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-07-05 22:17:39 +01:00
Justin Clark-Casey (justincc)
951b45b80f
Add OSSL function osForceAttachToAvatarFromInventory()
...
This works like osForceAttachToAvatar() but allows an object to be directly specified from the script object's inventory rather than forcing it to be rezzed in the scene first.
Still only attaches objects to the owner of the script.
This allows one to bypass the complicated co-ordination of first rezzing objects in the scene before attaching them.
Threat level high.
2012-07-05 00:05:06 +01:00
Melanie
6137f37028
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Region/Framework/Scenes/Scene.cs
2012-06-29 22:24:53 +01:00
Justin Clark-Casey (justincc)
bfa6896678
Change AttachmentsModule.DetachSingleAttachmentToInv() to accept a SOG directly instead of an item ID to then shuffle through attachments, saving CPU busywork.
...
Almost all callers already had the sog to hand.
Still checking that it's really an attachment, but now by inspecting SOG.AttachedAvatar
2012-06-28 23:31:23 +01:00
Justin Clark-Casey (justincc)
571fd966cb
Rather than iterating through all SOGs in the scene looking for the one that matches out fromItemID on detach, go through the agent's attachment sog list instead.
2012-06-28 23:01:12 +01:00
Justin Clark-Casey (justincc)
f263d6a910
Remove code that tried to delete an attachment back to inventory if RezSingleAttachmentFromInventoryInternal() returned null.
...
null would only ever be returned if the item couldn't be located within inventory and this would happen immediately.
In this case, derezzing wouldn't work anyway since there is no item to derez.
2012-06-28 22:48:49 +01:00
Melanie
41a1903c60
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
2012-06-28 03:21:08 +01:00
Justin Clark-Casey (justincc)
d043213317
refactor: Move ScenePresence <-> AgentData attachments copying code into AttachmentsModule.
2012-06-27 00:41:46 +01:00
Justin Clark-Casey (justincc)
5bec5bcf71
Automatically disable log4net before each regression test so that logging is confined to a single test if it's turned on.
...
This involves making test classes inherit from a common OpenSimTestCase.
This will be applied to more classes as required.
2012-06-27 00:01:51 +01:00
Justin Clark-Casey (justincc)
99954c1498
refactor: Remove unnecessary AttachmentModuleTests.m_userId in favour of local variables
2012-06-26 22:53:08 +01:00
Justin Clark-Casey (justincc)
2b82c421ad
refactor: Use local attachment module variables instead of global m_attMod.
...
This also avoids confusion between tests where one sets up m_attMod and another accidentally uses it after failing to set one up itself.
2012-06-26 22:31:25 +01:00
Justin Clark-Casey (justincc)
4329cc7b8a
refactor: make m_presence a local variable in all AttachmentsModuleTests since it doesn't need to be global and some tests set up more than one sp
2012-06-26 22:21:54 +01:00
Justin Clark-Casey (justincc)
32a4ce94f0
Add regression test to check that attachments in source region are deleting when an agent teleports to a neighbouring region
2012-06-26 22:16:44 +01:00
Melanie
7cc5b3d7d3
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2012-06-26 17:35:55 +01:00
Justin Clark-Casey (justincc)
e5b739aaeb
When attachments are being saved and deleted for a closing root agent, delete first to avoid a hud race condition with update threads.
...
If delete doesn't occur first then the update thread can outrace the IsAttachment = false necessary to save attachments and send hud artifacts to other viewers.
2012-06-25 22:48:13 +01:00
Justin Clark-Casey (justincc)
5301648cff
In AttachmentsModule.DetachSingleAttachmentToInvInternal(), remove attachment before changing properties for correct inventory serialization.
...
Serialization of attachments requires IsAttachment = false so that correct positions are serialized instead of avatar position.
However, doing this when a hud is still attached allows race conditions with update threads, resulting in hud artifacts on other viewers.
This change sets SOG.IsDeleted before serialization changes take place (IsDeleted itself is not a serialized property).
LLClientView then screens out any deleted SOGs before sending updates to viewers.
2012-06-25 21:08:19 +01:00
Justin Clark-Casey (justincc)
4cf49369b5
Stop flicking IsAttachment false and then true in AttachmentsModule.UpdateAttachmentPosition() in order to avoid a hud update race condition.
...
Previously, setting IsAttachment to false then true was necessary to serialize the updated attachment object information.
However, UpdateAttachmentPosition no longer does this update.
Whilst IsAttachment is set to false there is a race condition where the update thread can wrongly send hud object updates to clients that do not own the hud, resulting in screen artifacts.
2012-06-22 01:43:26 +01:00
Justin Clark-Casey (justincc)
798846c5b6
refactor AttachmentsModule tests to use a common method for standard attachment item setup
2012-06-22 00:40:04 +01:00
Justin Clark-Casey (justincc)
06617ffd06
Add regression test for updating attachment position
2012-06-22 00:18:30 +01:00
Melanie
ca4e6d9b5b
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
2012-06-15 02:52:56 +01:00
Justin Clark-Casey (justincc)
1aa7469253
correct wrong incomplete comment from previous commit 3c3ea19 in AttachmentsModule
2012-06-14 02:30:40 +01:00
Justin Clark-Casey (justincc)
3c3ea19620
Fix a bug where scene objects attached as HUDs through scripts would not disappear for other avatars.
...
We do this by sending a kill message for that object to all other avatars apart from the one that has the hud.
2012-06-14 02:26:38 +01:00
Melanie
c0b21d92c2
Merge branch 'avination' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-06-06 14:16:19 +01:00