| Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
we're deselecting the prim in code before scheduling an update on attachment
|
|
properly.
It seems this is happening because we send a kill for objects that are selected when attached.
A code comment says that this is to get the client to deselect it, but v3 and v1 clients do this just fine without the kill.
Aims to address http://opensimulator.org/mantis/view.php?id=6456
|
|
Uses new IEntityInventory.TryGetScriptInstanceRunning()
Makes it clearer that TaskInventoryItem.ScriptRunning cannot be used as it is temporary and not updated.
|
|
|
|
object is attached from the scene.
Enables previously disabled regression test.
Based on SingpostMarv's patch in http://opensimulator.org/mantis/view.php?id=6302 but I prefer a simpler approach that does not expose a resume scripts option right now.
|
|
|
|
|
|
|
|
|
|
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.
|
|
while still in the scene to avoid losing important script state.
DeleteSceneObject can not be called before doing this!
|
|
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.
|
|
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.
|
|
This currently only does a relatively crude check for a ScriptState node in the serialized xml
|
|
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.
|
|
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.
|
|
AttachObject() for better code comprehension
|
|
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
|
|
matches out fromItemID on detach, go through the agent's attachment sog list instead.
|
|
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.
|
|
AttachmentsModule.
|
|
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.
|
|
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.
|
|
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.
|
|
AttachmentsModule
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
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
|
|
|
|
Eliminated an extra newline in the console if the log line doesn't contain a category (example of a category: "[ASSETS]").
|
|
only ever using the root part entry.
This eliminates some pointless memory use.
|
|
|
|
visitors at all. On Leaving a sim, save only the changed ones. Don't save
all scripted stuff when leaving a sim.
|
|
|
|
Haven't been able to resolve issue where attachments are removed by the viewer on relog on a localhost
|
|
packet per prim. More to come as we change to make use of this.
|
|
|
|
|
|
handlers for attachments to call public interface and rearranged module file into sections
|
|
converted back and forth between ScenePresence and IClientAPI. More to be done still.
|
|
|
|
allow attachments to be temporarily turned off.
This is for debugging purposes. Defaults to Attachments Enabled
|
|
all parts, now that we're performing this check in UpdateKnownItem() for other purposes
|
|
itemID is always taken taken from the group's stored item id, and agentID is never used.
|
|
It's not appropriate for code outside the attachments module to call this.
|
|
|