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
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)
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
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)
f6e5791ecd
refactor: extract method UpdateUserInventoryWithAttachment() from AttachObject() for better code comprehension
2012-07-06 22:07:19 +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
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
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
Melanie
28e5abd917
Fix llAttachToAvatar and "Attach" viewer option to preserve saved attach positions.
2012-06-04 21:05:56 +02:00
Melanie
e696d1d952
Merge branch 'avination' into careminster
...
Conflicts:
OpenSim/Region/Framework/Scenes/ScenePresence.cs
2012-05-31 03:37:43 +01:00
Melanie
4358bb8f85
Fix the log standing attach-from-world bug.
2012-05-30 00:50:47 +02:00
Melanie
884c0e7bb1
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Data/MySQL/MySQLSimulationData.cs
OpenSim/Data/MySQL/Resources/RegionStore.migrations
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
2012-05-27 19:24:30 +01:00
Justin Clark-Casey (justincc)
67ebe80dd9
Resolve some mono compiler warnings.
2012-05-25 04:03:16 +01:00
Justin Clark-Casey (justincc)
68918d632f
Fetch the dialog module reference in AttachmentsModule in RegionLoaded() not AddRegion()
...
The reference is not guaranteed to be there when AddRegion() is called but will definitely be present at RegionLoaded() if it's going to be present at all.
2012-05-23 02:09:31 +01:00
Justin Clark-Casey (justincc)
ff429a259b
Fix bug where an avatar that had an object they owned attached through llAttachToAvatar() or osForceAttachToAvatar() would wrongly have next permissions come into play when they detached that object and rezzed it in scene.
...
This is because the attachments module code was setting the 'object slam' bit by using PermissionMask.All
Solution here is to route the attachment item creation call through the existing inventory code in BasicInventoryAccessModule rather than copy/pasted code in AttachmentsModule itself.
2012-05-23 01:58:10 +01:00
Melanie
31ab8b2fe0
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/WebUtil.cs
OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs
OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
2012-05-05 10:32:04 +01:00
Justin Clark-Casey (justincc)
01b00ad0d5
Fire the scripting changed event with CHANGED_OWNER when an object that has changed owners is rezzed.
...
This needs to occur after the script is resumed rather than before, when the event is just dropped.
Addresses http://opensimulator.org/mantis/view.php?id=5890 and http://opensimulator.org/mantis/view.php?id=5952
2012-05-05 00:29:14 +01:00
Melanie
def65cd94a
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
2012-04-25 01:22:09 +01:00
Justin Clark-Casey (justincc)
6b299a4287
Comment out some debug ATTACHMENTS log messages for now.
2012-04-25 00:52:33 +01:00
Oren Hurvitz
2f398231ac
Minor improvements to logging
...
Eliminated an extra newline in the console if the log line doesn't contain a category (example of a category: "[ASSETS]").
2012-04-24 21:38:09 +01:00
Melanie
b39de2425c
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
OpenSim/Region/CoreModules/World/Land/LandObject.cs
OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-04-07 04:52:14 +01:00
Justin Clark-Casey (justincc)
7d8bb33c5b
Store FromItemID for attachments once on SOG instead of on every SOP and only ever using the root part entry.
...
This eliminates some pointless memory use.
2012-04-07 00:33:02 +01:00
UbitUmarov
6af01f6767
initial introdution of physics actor building control.
2012-02-08 23:14:53 +00:00
Melanie
e5ae84b42b
Re-Add the reading of attachment data hat was lost in the merge
2012-02-02 01:04:54 +01:00
Melanie
16aa00e944
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2012-02-01 10:08:45 +00:00