aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Shuffle order of code in invnetory connector GetFolderContent() calls to ↵Justin Clark-Casey (justincc)2011-09-151-1/+1
| | | | avoid a possible race condition
* If a prim inventory becomes empty through deletion, send an empty xfer file ↵Justin Clark-Casey (justincc)2011-09-151-20/+43
| | | | | | | | | name rather than one that references a metadata file containing only the folder object. If we do this, then viewer 3 crashes when we try and rez a script directly in an attachment's prim inventory. Sending an empty file name was already being done if the prim's inventory had never been touched. Now we always do that if there are no items in that inventory. Hopefully addresses the remaining point in http://opensimulator.org/mantis/view.php?id=5644
* Don't try and delete attachments for child agent closeJustin Clark-Casey (justincc)2011-09-131-1/+2
|
* Remove UpdateKnownItem() from IAttachmentsModule.Justin Clark-Casey (justincc)2011-09-131-9/+0
| | | | It's not appropriate for code outside the attachments module to call this.
* Stop attempts to rewear already worn items from removing and reattaching.Justin Clark-Casey (justincc)2011-09-133-2/+20
| | | | | | | | Viewer 2/3 will sometimes attempt to rewear attachments, even though they have already been attached during the main login process. This change ignores those attempts. This stops script failures during login, as the rewearing was racing with the script startup code. It might also help with attachments being abnormally put into deleted state. Hopefully resolves some more of http://opensimulator.org/mantis/view.php?id=5644
* Comment out attachments code in Scene.IncomingCreateObject(UUID userID, UUID ↵Justin Clark-Casey (justincc)2011-09-132-10/+33
| | | | | | | | | itemID) for now As far as I can see, this is only invoked by a PUT request to ObjectHandlers, which is not being used anyway. Invoking attachments code at this point is probably inappropriate since it would still be invoked when the client entered the scene. Being commented to simplify analysis of attachments issues. Can be uncommented when in use. Also, small tweak to lock and log removal of a SOG from the SceneObjectGroupsByLocalPartID collection in SceneGraph.GetGroupByPrim() if an inconsistency is found.
* stop the duplicate remove of the root part ids from the full part and local ↵Justin Clark-Casey (justincc)2011-09-132-3/+1
| | | | | | part indexes in SG.DeleteSceneObject() this is unnecessary because the parts array iterated through contains the root part as well as the non-root parts
* extend TestGetSceneObjectByPartLocalId() to test state after scene object ↵Justin Clark-Casey (justincc)2011-09-131-0/+6
| | | | deletion
* In SG.AddSceneObject(), stop unnecessarily adding the root part to object ↵Justin Clark-Casey (justincc)2011-09-131-7/+5
| | | | | | indexes sepearately from the other parts. The SOG.Parts property contains the root part as well as the non-root parts
* Add new TestGetSceneObjectByPartLocalId() for retrieving a scene object via ↵Justin Clark-Casey (justincc)2011-09-131-0/+27
| | | | the local id of one of its parts
* improve TestAddSceneObject() to test a multi-part object rather than a ↵Justin Clark-Casey (justincc)2011-09-131-11/+14
| | | | single-part
* In an object return message, send a null-terminated empty string in binary ↵Justin Clark-Casey (justincc)2011-09-131-1/+3
| | | | | | | | | bucket to prevent a viewer 3 crash. This is the message sent to the client when the object is returned. We were sending byte[0] in the binary bucket. This didn't kill viewer 1 but did terminate viewer 3 (don't know about viewer 2). So sending "\0" instead. This is to address http://opensimulator.org/mantis/view.php?id=5683
* eliminate redundant SP.m_regionInfo since it always has the scene.Justin Clark-Casey (justincc)2011-09-121-8/+6
| | | | We were already referencing through the scene in some places.
* remove the unused SP.initializeScenePresence()Justin Clark-Casey (justincc)2011-09-121-23/+2
|
* stop the redundant passing in of RegionInfo to SceneGraph, since the Scene ↵Justin Clark-Casey (justincc)2011-09-123-10/+7
| | | | is always passed in at the same time.
* minor: if the script engine fails to find a prim for a script, also print ↵Justin Clark-Casey (justincc)2011-09-121-0/+4
| | | | out that prim's local id in the error message.
* comment out some recent terrain texture loggingJustin Clark-Casey (justincc)2011-09-121-1/+1
|
* Start locking entire add/remove operations on an ↵Justin Clark-Casey (justincc)2011-09-123-0/+21
| | | | | | | | | 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.
* When creating an OAR, optionally exclude objects according to their permissionsOren Hurvitz2011-09-121-0/+54
|
* minor: put <remarks> tags around some method docJustin Clark-Casey (justincc)2011-09-121-5/+6
|
* lock attachments when enumerating through them in ScenePresence.CopyTo().Justin Clark-Casey (justincc)2011-09-101-20/+24
| | | | May have some effect on http://opensimulator.org/mantis/view.php?id=5644
* Add extra log information when attachments fail validationJustin Clark-Casey (justincc)2011-09-101-1/+9
|
* Delay loading scripts until the scene has finished loadingOren Hurvitz2011-09-092-2/+27
|
* Save the default terrain texture UUIDs for a new region instead of leaving ↵Justin Clark-Casey (justincc)2011-09-091-1/+36
| | | | | | | | | | | them as UUID.Zero. Leaving them at UUID.Zero meant that when a viewer 2 logged into a region that had been freshly created, it received UUID.Zero for these textures, and hence display the land as plain white. On a simulator restart, the problem would go away since when the database adapators loaded the new region settings, RegionSettings itself has code to use default textures instead of UUID.Zero. This commit resolves the problem by saving the default texture UUIDs instead of Zero. However, we currently have to do this in a roundabout way by resaving once the RegionSettings have been created by the database for the first time. This needless complexity should be addressed. This change will also have the effect of replacing any existing UUID.Zero terrain textures with the default ones. However, this shouldn't have any effect since the UUID.Zeros were already being replaced in memory with those same UUIDs.
* Lock m_pendingObjects when calling GetPendingObjectsCount().Justin Clark-Casey (justincc)2011-09-061-1/+2
| | | | | | This is only called by a region console command. We should also be locking m_partsUpdateQueue when dequeueing the next part, or locking m_pendingObjects in QueuePartForUpdate(). However, I won't do this now since I don't have time to analyze how this would affect liveness.
* Comment out SceneViewer.Reset() and stop calling from Close() since this is ↵Justin Clark-Casey (justincc)2011-09-061-16/+17
| | | | | | useless work as a closed scene object is never reset. Strictly speaking, we could also stop bothering to clear the m_updateTimes and m_partsUpdateQueue if we are sure that the whole SceneViewer is shortly to be garbage collected anyway, but we'll leave them around for now.
* Comment out unused ISceneViewer.Reset() to reduce code complexityJustin Clark-Casey (justincc)2011-09-061-1/+1
|
* In SceneViewer, introduce an IsEnabled flag and perform Close() under an ↵Justin Clark-Casey (justincc)2011-09-062-19/+51
| | | | m_pendingObjects lock in order to avoid the race condition seen by danbanner in http://opensimulator.org/mantis/view.php?id=5669
* Get rid of the confusing version of ↵Justin Clark-Casey (justincc)2011-09-061-14/+0
| | | | IAttachmentsModule.RezSingleAttachmentFromInventory() with the updateInventoryStatus switch, since this is never called with false
* Try disabling the inconsistent attachment state check to see if this ↵Justin Clark-Casey (justincc)2011-09-051-9/+7
| | | | | | | | actually has an impact. The code in question is over three years old and just be catching an inconsistency rather than being wholly necessary. This commit still carries out the check and prints all the previous log warnings but a 'failure' no longer prevents avatar region crossing or teleport, and it doesn't give the client the error message. This will have some kind of impact on http://opensimulator.org/mantis/view.php?id=5672
* Stop NPCs losing attachments when the source avatar takes them off.Justin Clark-Casey (justincc)2011-09-033-7/+57
| | | | | | | 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
* Comment out Scene.CleanDroppedAttachments() and calls.Justin Clark-Casey (justincc)2011-09-021-36/+36
| | | | | This method wasn't actually doing anything since dropped attachments retain a PCode of 9. Also, behaviour of dropped attachments in other places appears to be that they persist after avatar logout rather than get deleted.
* Go back to resetting the State parameter for all parts of a SOG when ↵Justin Clark-Casey (justincc)2011-09-021-0/+6
| | | | | | | SOG.ClearPartAttachmentData() is called. Even though we don't use these on rez they are still present after an unlink, after which selecting them causes various viewers to crash Hopefully really does address http://opensimulator.org/mantis/view.php?id=5664
* stop passing FromUserInventoryItemID right down into the deserializer.Justin Clark-Casey (justincc)2011-09-022-26/+5
| | | | the code becomes simpler if this is set from the outside - only one place needs to do this.
* Move more of IAM.RezObject() into DoPreRezWhenFromItem()Justin Clark-Casey (justincc)2011-09-021-3/+2
|
* refactor: use SOG register target waypoints and rots directly instead of ↵Justin Clark-Casey (justincc)2011-09-011-20/+0
| | | | calling through the SOP, which doesn't make conceptual sense anyway.
* Eliminate pointless checks of SOG.RootPart != nullJustin Clark-Casey (justincc)2011-09-014-139/+75
| | | | 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
* refactor: use ParentGroup.UUID directly instead of SOP.GetRootPartUUID()Justin Clark-Casey (justincc)2011-09-011-17/+6
|
* Fix issue with llGetTorque() where it would only ever return a zero vector.Justin Clark-Casey (justincc)2011-09-011-9/+0
|
* Remove pointless cluttering SOP.ParentGroup != null checks.Justin Clark-Casey (justincc)2011-09-017-272/+185
| | | | | 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.
* move common code into AttachmentsModule.DeleteAttachmentsFromScene()Justin Clark-Casey (justincc)2011-08-313-15/+25
|
* refactor: move multiple class to set avatar height into associated ↵Justin Clark-Casey (justincc)2011-08-311-16/+2
| | | | SP.AddToPhysicalScene()
* get rid of appearance null checks - this is never nullJustin Clark-Casey (justincc)2011-08-312-35/+16
|
* remove pointless m_attachments == null check since this field is never nullJustin Clark-Casey (justincc)2011-08-311-1/+1
|
* minor: seal up another instance of using the appearance list without lockingJustin Clark-Casey (justincc)2011-08-311-1/+2
|
* Make SP.Attachments available as sp.GetAttachments() instead.Justin Clark-Casey (justincc)2011-08-312-15/+43
| | | | | | | 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.
* minor: remove already processed avatar null check in Scene.RemoveClient()Justin Clark-Casey (justincc)2011-08-302-5/+1
| | | | remove some now duplicated method doc
* refactor: move SP.SaveChangedAttachments() fully into AttachmentsModuleJustin Clark-Casey (justincc)2011-08-304-26/+20
|
* refactor: Move ScenePresence.RezAttachments() into AttachmentsModuleJustin Clark-Casey (justincc)2011-08-304-46/+64
| | | | This adds an incomplete IScenePresence to match ISceneEntity
* add Name property to ISceneEntityJustin Clark-Casey (justincc)2011-08-301-2/+5
|