| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
IScenePresence.AttachmentsSyncLock object
Attach and detach packets are processed asynchronously when received from a viewer.
Bugs like http://opensimulator.org/mantis/view.php?id=5644 indicate that in some situations (such as attaching/detaching entire folders of objects at once), there are race conditions between these threads.
Since multiple data structures need to be updated on attach/detach, it's not enough to lock the individual collections.
Therefore, this commit introduces a new IScenePresence.AttachmentsSyncLock which add/remove operations lock on.
|
|
|
|
| |
variables in different contexts
|
| |
|
|
|
|
| |
IAttachmentsModule.RezSingleAttachmentFromInventory() with the updateInventoryStatus switch, since this is never called with false
|
| |
|
|
|
|
| |
The second was already being filtered out so this has no user level effect
|
|
|
|
|
|
|
| |
This was happening because we were using the source avatar's item IDs in the clone appearance.
Switch to using the asset IDs of attachments instead for NPCs.
The InventoryAccessModule and AttachmentModule had to be changed to allow rezzing of an object without an associated inventory item.
Hopefully goes some way towards resolving http://opensimulator.org/mantis/view.php?id=5653
|
|
|
|
| |
It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
|
| |
|
|
|
|
|
|
|
| |
The approach here, as in other parts of OpenSim, is to return a copy of the list rather than the attachments list itself
This prevents callers from forgetting to lock the list when they read it, as was happening in various parts of the codebase.
It also improves liveness.
This might improve attachment anomolies when performing region crossings.
|
| |
|
|
|
|
| |
remove some now duplicated method doc
|
| |
|
|
|
|
| |
This adds an incomplete IScenePresence to match ISceneEntity
|
| |
|
|
|
|
| |
If the inventory service is configured not to allow deletion then these will not disappear from inventory
|
|
|
|
| |
stored in the root part's state field.
|
| |
|
|
|
|
| |
pointless duplication of identical values
|
|
|
|
| |
This does a tiny bit to reduce code complexity, memory requirement and the cpu time of pointlessly setting this field to the same value in every SOP
|
|
|
|
| |
AttachmentsModule.DetachSceneObjectToGround() and remove redundant code
|
|
|
|
| |
object group direct
|
|
|
|
| |
AttachmentsModule.DetachSingleAttachmentToInv()
|
|
|
|
| |
and change text to better indicate what it's saying
|
|
|
|
| |
accidentally stopped normal script state persistence on login/logout and attach/detach
|
|
|
|
|
|
| |
both non-phantom and flagged as physical.
As per Melanie
|
| |
|
| |
|
|
|
|
| |
AttachmentsModule.AddSceneObjectAsAttachment()
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
DetachSingleAttachmentToInv() for consistency and to reflect it's actual behaviour
|
|
|
|
|
|
|
| |
from the avatar's list of attachments as well as delete it from the scene.
This may help with the "Inconsistent attachment state" errors seen on teleport.
See http://opensimulator.org/mantis/view.php?id=5644 and linked reports
|
|
|
|
|
|
| |
to help with the inconsistent state bug.
This also refactors AttachmentsModules to stop pointlessly refetching the ScenePresence in various methods. However, more of this is required.
|
|
|
|
|
|
|
| |
removed from the scene.
This is done by introducing a PresenceType enum into ScenePresence which currently has two values, User and Npc.
This seems better than a SaveAttachments flag in terms of code comprehension, though I'm still slightly uneasy about introducing these semantics to core objects
|
| |
|
|
|
|
|
|
| |
previous attachments from the scene.
Addresses http://opensimulator.org/mantis/view.php?id=5636
|
|
|
|
| |
attachments check
|
| |
|
|
|
|
|
|
| |
than the object's own zero speed.
As per http://opensimulator.org/mantis/view.php?id=5575
|
|
|
|
| |
the agent and all attachments. Preserves backwards compatibility -- older sims get passed attachments one by one. Meaning that I finally introduced versioning in the simulation service.
|
|
|
|
|
|
|
| |
enters a region the attachments module tries to update the
appearance with attachments that are already part of the appearance.
Just added a check to only save if the attachments weren't there
before.
|
|
|
|
|
|
| |
used by a 3rd party region module and contains non-obvious attachment specific code
There are no functional changes. UpdateAttachmentPosition() is adapted to the new approach of only saving attachment state on logout
|
|
|
|
| |
attached directly from the scene, not from existing inventory
|
|
|
|
|
|
|
| |
save properly, as will the results of a resizer script working. Attachment
positions are no longer saved on each move, but instead are saved once on
logout. Attachment script states are saved as part of the attachment now
when detaching.
|
| |
|
| |
|
|
|
|
|
| |
and avatar data are sent. And the number of times they
are stored.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AvatarService -- add two new methods, GetAppearance and SetAppearance
to get around the lossy encoding in AvatarData. Preseve the old
functions to avoid changing the behavior for ROBUST services.
AvatarAppearance -- major refactor, moved the various encoding
methods used by AgentCircuitData, ClientAgentUpdate and
ScenePresence into one location. Changed initialization.
AvatarAttachments -- added a class specifically to handle
attachments in preparation for additional functionality
that will be needed for viewer 2.
AvatarFactory -- removed a number of unused or methods duplicated
in other locations. Moved in all appearance event handling from
ScenePresence. Required a change to IClientAPI that propogated
throughout all the IClientAPI implementations.
|