aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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-131-1/+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-131-42/+77
| | | | | | | | 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-131-3/+14
| | | | | | | | | 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.
* comment out some recent terrain texture loggingJustin Clark-Casey (justincc)2011-09-121-4/+4
|
* Start locking entire add/remove operations on an ↵Justin Clark-Casey (justincc)2011-09-121-175/+207
| | | | | | | | | 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-123-40/+156
|
* Add extra log information when attachments fail validationJustin Clark-Casey (justincc)2011-09-101-5/+11
|
* 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
|
* 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-091-0/+5
| | | | | | | | | | | 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.
* Remember to set and unset the fire and forget method at the top of the ↵Justin Clark-Casey (justincc)2011-09-081-3/+7
| | | | attachment and npc tests
* Use scene presence agent id for rezzed object ownership rather than item owner.Justin Clark-Casey (justincc)2011-09-081-7/+12
| | | | These should be identical. However, the item isn't available when rezzing npc attachments.
* 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
* 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-061-11/+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-052-14/+20
| | | | | | | | 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
* Stop NPCs losing attachments when the source avatar takes them off.Justin Clark-Casey (justincc)2011-09-032-60/+83
| | | | | | | 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-1/+1
| | | | | 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.
* Remove redundant RootPart.CreatedSelected = true in IAM.RezObject() since ↵Justin Clark-Casey (justincc)2011-09-021-2/+0
| | | | this is done through parts iteration
* Go back to resetting the State parameter for all parts of a SOG when ↵Justin Clark-Casey (justincc)2011-09-021-5/+8
| | | | | | | 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-021-4/+2
| | | | 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-24/+27
|
* move more of IAM.RezObject() into DoPreRezWhenFromItem()Justin Clark-Casey (justincc)2011-09-021-63/+85
|
* factor out a section of IAM.RezObject() into DoPreRezWhenFromItem()Justin Clark-Casey (justincc)2011-09-021-40/+48
|
* refactor: factor out DoPostRezWhenFromItem() from IAM.RezObject()Justin Clark-Casey (justincc)2011-09-011-3/+8
|
* remove the pointless m_Scene.GetNewRezLocation() call at the top of ↵Justin Clark-Casey (justincc)2011-09-011-7/+4
| | | | IAM.RezObject() since its always recalculated later on anyway
* refactor: Move sanity checks to the top of IAM.RezObject() to make the code ↵Justin Clark-Casey (justincc)2011-09-011-219/+215
| | | | more readable
* use group.RootPart in IAM.RezObject() rather than ↵Justin Clark-Casey (justincc)2011-09-011-1/+1
| | | | group.GetChildPart(group.UUID);
* Remove pointless NRE check in IAM.RezObject() since this can never occurJustin Clark-Casey (justincc)2011-09-011-15/+1
|
* Remove code which was automatically deleting non-root prims from scene ↵Justin Clark-Casey (justincc)2011-09-011-0/+4
| | | | | | | objects that had previous been attachments. Looks like this code was accidentally uncommented in e1b5c612 from feb 2010. Appears to resolve the rest of http://opensimulator.org/mantis/view.php?id=5664
* If the user receiving an inventory folder has left the scene by the time the ↵Justin Clark-Casey (justincc)2011-09-011-5/+4
| | | | | | acceptence message arrives, then don't send them an inventory update. Doing so causes a NullReferenceException
* Eliminate pointless checks of SOG.RootPart != nullJustin Clark-Casey (justincc)2011-09-012-7/+1
| | | | 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
* Remove pointless cluttering SOP.ParentGroup != null checks.Justin Clark-Casey (justincc)2011-09-013-33/+24
| | | | | 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.
* Don't set a GridUser entry for NPCs.Justin Clark-Casey (justincc)2011-08-311-1/+4
| | | | Resolves http://opensimulator.org/mantis/view.php?id=5665
* move common code into AttachmentsModule.DeleteAttachmentsFromScene()Justin Clark-Casey (justincc)2011-08-312-5/+11
|
* refactor: move multiple class to set avatar height into associated ↵Justin Clark-Casey (justincc)2011-08-311-1/+1
| | | | SP.AddToPhysicalScene()
* In WorldCommModule, replace the useless Attachments == null check with ↵Justin Clark-Casey (justincc)2011-08-311-2/+1
| | | | Attachments.Count == 0 instead
* minor: seal up another instance of using the appearance list without lockingJustin Clark-Casey (justincc)2011-08-311-1/+1
|
* Make SP.Attachments available as sp.GetAttachments() instead.Justin Clark-Casey (justincc)2011-08-314-50/+52
| | | | | | | 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 pointless ToArray() call in AttachmentsModule.SaveChangedAttachments()Justin Clark-Casey (justincc)2011-08-301-1/+1
|