aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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-132-1/+34
|
* Remove code from DetachSingleAttachmentToInv() that sets group changed on ↵Justin Clark-Casey (justincc)2011-09-131-11/+0
| | | | all parts, now that we're performing this check in UpdateKnownItem() for other purposes
* remove redunant itemID and agentID arguments from UpdateKnownItem().Justin Clark-Casey (justincc)2011-09-131-6/+4
| | | | itemID is always taken taken from the group's stored item id, and agentID is never used.
* Remove UpdateKnownItem() from IAttachmentsModule.Justin Clark-Casey (justincc)2011-09-132-10/+1
| | | | It's not appropriate for code outside the attachments module to call this.
* minor: remove redundant grp != null check from AM.UpdateKnownItem()Justin Clark-Casey (justincc)2011-09-131-36/+33
|
* Stop attempts to rewear already worn items from removing and reattaching.Justin Clark-Casey (justincc)2011-09-134-44/+97
| | | | | | | | 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-133-13/+47
| | | | | | | | | 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-122-1/+5
| | | | out that prim's local id in the error message.
* comment out some recent terrain texture loggingJustin Clark-Casey (justincc)2011-09-122-5/+5
|
* Start locking entire add/remove operations on an ↵Justin Clark-Casey (justincc)2011-09-124-175/+228
| | | | | | | | | 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-125-44/+216
|
* 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-102-6/+20
|
* reinstate the validation logging on teleport. A 'fail' of validation still ↵Justin Clark-Casey (justincc)2011-09-101-0/+2
| | | | doesn't prevent the actual teleport.
* Stop the UserManagementModule logging every user it adds for nowJustin Clark-Casey (justincc)2011-09-101-3/+3
|
* Delay loading scripts until the scene has finished loadingOren Hurvitz2011-09-094-2/+32
|
* llSetPrimitiveParams Prim type params precision errorsMicheil Merlin2011-09-092-44/+90
|
* Comment out the part of the load oar code that zeroes out prim sit target ↵Justin Clark-Casey (justincc)2011-09-092-2/+8
| | | | | | | orientations and positions. The warning about these causing problems is very old and may no longer apply. Hopes to fix http://opensimulator.org/mantis/view.php?id=5680
* Use a copy of the inventory items list to register users in the thread ↵Justin Clark-Casey (justincc)2011-09-092-2/+8
| | | | | | started by GetFolderContent(), to protect ourselves against callers modifying lists Hopefully this addresses http://opensimulator.org/mantis/view.php?id=5681
* Save the default terrain texture UUIDs for a new region instead of leaving ↵Justin Clark-Casey (justincc)2011-09-092-1/+41
| | | | | | | | | | | 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.
* Fix test failure. Oversight in setting up the tests themselves.Justin Clark-Casey (justincc)2011-09-081-1/+2
|
* Centralize module setup for NPC tests.Justin Clark-Casey (justincc)2011-09-081-41/+21
| | | | This is overkill for some tests since they dont' need all the modules, but I think the gain in code readability is worth it
* Remember to set and unset the fire and forget method at the top of the ↵Justin Clark-Casey (justincc)2011-09-082-5/+17
| | | | attachment and npc tests
* Use scene presence agent id for rezzed object ownership rather than item owner.Justin Clark-Casey (justincc)2011-09-082-7/+89
| | | | These should be identical. However, the item isn't available when rezzing npc attachments.
* When invoking any of the OSSL teleport functions, do it on a separate thread ↵Justin Clark-Casey (justincc)2011-09-071-6/+13
| | | | | | | rather than the script thread. This is to prevent the aborting of attachment script threads on teleport from aborting the one actually doing the teleport. This allows OSSL teleport functions to work when invoked on scripts in attachments (and huds, I assume)
* When a region is added to the HG Inventory Broker, also pass this through to ↵Justin Clark-Casey (justincc)2011-09-073-21/+41
| | | | | | | | the embedded local inventory connector to prevent an NRE when that connector tries to lookup the UserManager through the scene. This is to address http://opensimulator.org/mantis/view.php?id=5669 However, if this failure was happening I'm kind of surprised that local HG inventory was working at all..... We probably weren't seeing these exceptions previously because we weren't logging them when the reached the top of a FireAndForget thread.
* Add temporary debugging in HGInventoryBroker and ↵Justin Clark-Casey (justincc)2011-09-063-19/+33
| | | | | | | RemoveXInventoryServiceConnector This is for http://opensimulator.org/mantis/view.php?id=5669 If we can't retrieve an IUserManagement module we complain, and we also warn in the log when its manually set in XISC by HGInventoryBroker
* 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
* refactor: Make logic in AM.AttachObject() clearer by not reusing existing ↵Justin Clark-Casey (justincc)2011-09-061-14/+19
| | | | variables in different contexts
* rename AM.AddSceneObjectAsAttachment() to AddSceneObjectAsNewAttachmentInInvJustin Clark-Casey (justincc)2011-09-061-3/+3
|
* In SetAttachment, if the existing attachment has no asset id then carry on ↵Justin Clark-Casey (justincc)2011-09-061-0/+8
| | | | | | | | | | | rather than abort. When a user logs in, the attachment item ids are pulled from persistence in the Avatars table. However, the asset ids are not saved. When the avatar enters a simulator the attachments are set again. If we simply perform an item check then the asset ids (which are now present) are never set, and NPC attachments later fail unless the attachment is detached and reattached. Hopefully resolves part of http://opensimulator.org/mantis/view.php?id=5653
* Get rid of the confusing version of ↵Justin Clark-Casey (justincc)2011-09-062-25/+2
| | | | IAttachmentsModule.RezSingleAttachmentFromInventory() with the updateInventoryStatus switch, since this is never called with false
* get rid of the unused AttachmentsModule.ShowAttachInUserInventory()Justin Clark-Casey (justincc)2011-09-061-28/+0
|
* Stop the pointless double setting of every attachment in AvatarAppearance.Justin Clark-Casey (justincc)2011-09-062-6/+3
| | | | The second was already being filtered out so this has no user level effect
* Try disabling the inconsistent attachment state check to see if this ↵Justin Clark-Casey (justincc)2011-09-053-23/+27
| | | | | | | | 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
* Allow the HGInventoryBroker to set the UserManager when it instantiates a ↵Justin Clark-Casey (justincc)2011-09-052-3/+15
| | | | | | | RemoteXInventoryServiceConnector for a visiting HG user. Not doing this causes NREs whenever that user tries to access inventory when Hypergrid is turned on since the Remote connector does not have a scene (which is only used to fetch the UserManager) Aims to address http://opensimulator.org/mantis/view.php?id=5669