aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix the order of operations on detach. The object must always be serializedMelanie2012-07-201-6/+10
| | | | | while still in the scene to avoid losing important script state. DeleteSceneObject can not be called before doing this!
* Comment out OnIncomingInstantMessage and OnInstantMessage handlers in ↵Justin Clark-Casey (justincc)2012-07-191-10/+10
| | | | GroupsModule, since these led to a private blank method
* Add EventManager.OnRegionLoginsStatusChange fired whenever logins are ↵Justin Clark-Casey (justincc)2012-07-191-5/+5
| | | | | | | enabled or disabled at any point, not just during initial startup. This replaces EventManager.OnLoginsEnabled which only fired when logins were first enabled and was affected by a bug where it would never fire if the region started with logins disabled.
* Establish EventManager.OnRegionReady event. This will only be triggerred ↵Justin Clark-Casey (justincc)2012-07-181-8/+2
| | | | | | once when the region is ready. Switch MapImageServiceModule to use this.
* Pass entire scene object in OnLoginsEnabled event rather than just the ↵Justin Clark-Casey (justincc)2012-07-181-11/+2
| | | | | | region name. This saves listeners from having to re-retrieve the scene from their own lists, which won't work anyway if multiple regions with the same name have been allowed
* Fix regression where llGiveInventory() had stopped asking non-owner ↵Justin Clark-Casey (justincc)2012-07-172-9/+14
| | | | | | | | | receivers to accept/decline. This appears to be a regression from back in commit db91044 (Mon Aug 22 2011) where we started to send TaskInventoryOffered msg dialog rather than InventoryOffered dialog. This is probably correct, but failed because the bucket was too large and because we wouldn't have handled the TaskInventoryDeclined option anyway. This patch handles both of these and make llGiveInventoryList() use TaskInventoryOffered as well Fixes http://opensimulator.org/mantis/view.php?id=6089
* Restore update of inventory item on derez/logout. This is necessary to ↵Justin Clark-Casey (justincc)2012-07-171-1/+6
| | | | | | | 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.
* Stop sending the viewer an inventory create message if a known attachment ↵Justin Clark-Casey (justincc)2012-07-171-4/+1
| | | | | | | 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.
* When generating a Warp3D texture, set the detailTexture[i] variable on ↵Justin Clark-Casey (justincc)2012-07-141-7/+14
| | | | | | | | resize from the JPEG2000 original rather than only saving it to disk. This appears to be the cause of the warp 3d exception seen when starting a new region for the first time. Subsequent starts were okay because resized saved bitmap was correctly retrieved from disk. Should fix http://opensimulator.org/mantis/view.php?id=5204 and http://opensimulator.org/mantis/view.php?id=5272
* Remove a callstack print out I accidentally left in 2 commits ago in 9ccb578Justin Clark-Casey (justincc)2012-07-131-1/+0
|
* Rather than instantiating a UTF8 encoding everywhere when we want to supress ↵Justin Clark-Casey (justincc)2012-07-131-1/+1
| | | | | | the BOM, use a single Util.UTF8NoBomEncoding. This class is thread-safe (as evidenced by the provision of the system-wide Encoding.UTF8 which does not suppress BOM on output).
* Don't cache regions data on the other unused LocalGridServiceConnector that ↵Justin Clark-Casey (justincc)2012-07-133-17/+25
| | | | | | the module code still sets up even if we're using one directly instantiated from the RemoteGridServiceConnector. Also improves log messages to indicate which regions are sending/receiving various neighbour protocol messages.
* Where possible, use the system Encoding.ASCII and Encoding.UTF8 rather than ↵Justin Clark-Casey (justincc)2012-07-112-3/+1
| | | | | | | constructing fresh copies. The encodings are thread-safe and already used in such a manner in other places. This isn't done where Byte Order Mark output is suppressed, since Encoding.UTF8 is constructed to output the BOM.
* Allow XEngine StartDelay to be configured in the [XEngine] config section.Justin Clark-Casey (justincc)2012-07-111-1/+2
| | | | | This is only currently meant for use by regression tests that don't have any issues if XEngine is started up quickly, since no other operations will be occuring simultaneously. Therefore, this is not yet documented externally.
* Add regression TestDetachScriptedAttachmentToInventory()Justin Clark-Casey (justincc)2012-07-112-20/+127
| | | | This currently only does a relatively crude check for a ScriptState node in the serialized xml
* Add regression TestRezScriptedAttachmentsFromInventory() though this ↵Justin Clark-Casey (justincc)2012-07-111-1/+26
| | | | currently only checks for the presence of script items, not for started scripts
* When an attachment is detached to inv or derezzed, stop the scripts, update ↵Justin Clark-Casey (justincc)2012-07-101-6/+14
| | | | | | 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.
* Do not allow a script to attach a prim if its being sat upon.Justin Clark-Casey (justincc)2012-07-092-1/+40
| | | | | | 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.
* Remove duplicate Warp3DImageModule entry in CoreModulePlugin.addin.xmlJustin Clark-Casey (justincc)2012-07-071-1/+0
| | | | | This was causing 2 copies of the module to be created for each scene. Probably no bad consequences other than a small waste of memory (both for the module and for the warp3D renderer it loaded)
* minor: Make WORLD MAP category log lines consistentJustin Clark-Casey (justincc)2012-07-071-4/+4
|
* minor: Remove some wrong comments in attachments regression testsJustin Clark-Casey (justincc)2012-07-061-2/+0
|
* Add assert to attachment regression tests to check that number of objects in ↵Justin Clark-Casey (justincc)2012-07-061-0/+14
| | | | the scene graph
* refactor: extract method UpdateUserInventoryWithAttachment() from ↵Justin Clark-Casey (justincc)2012-07-061-29/+38
| | | | AttachObject() for better code comprehension
* porting console commands from raw2sculpt 3.2SignpostMarv2012-07-051-0/+34
|
* Add OSSL function osForceAttachToAvatarFromInventory()Justin Clark-Casey (justincc)2012-07-052-3/+3
| | | | | | | This works like osForceAttachToAvatar() but allows an object to be directly specified from the script object's inventory rather than forcing it to be rezzed in the scene first. Still only attaches objects to the owner of the script. This allows one to bypass the complicated co-ordination of first rezzing objects in the scene before attaching them. Threat level high.
* Removing unused handling of incoming create object by userID and itemID only.Justin Clark-Casey (justincc)2012-06-302-26/+1
| | | | | It appears this was never actually used since attachments were rezzed in other code. This was never available on remote simulator comms, only local.
* Change AttachmentsModule.DetachSingleAttachmentToInv() to accept a SOG ↵Justin Clark-Casey (justincc)2012-06-282-40/+45
| | | | | | | 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
* Rather than iterating through all SOGs in the scene looking for the one that ↵Justin Clark-Casey (justincc)2012-06-281-24/+17
| | | | matches out fromItemID on detach, go through the agent's attachment sog list instead.
* Remove code that tried to delete an attachment back to inventory if ↵Justin Clark-Casey (justincc)2012-06-281-6/+1
| | | | | | | 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.
* Fix issue in InventoryArchiveTestCase where it didn't call down to ↵Justin Clark-Casey (justincc)2012-06-271-1/+2
| | | | OpenSimTestCase.SetUp()
* refactor: Move ScenePresence <-> AgentData attachments copying code into ↵Justin Clark-Casey (justincc)2012-06-271-0/+50
| | | | AttachmentsModule.
* Automatically disable log4net before each regression test so that logging is ↵Justin Clark-Casey (justincc)2012-06-272-4/+2
| | | | | | | confined to a single test if it's turned on. This involves making test classes inherit from a common OpenSimTestCase. This will be applied to more classes as required.
* Fix output for help on some object region console commandsJustin Clark-Casey (justincc)2012-06-261-3/+6
|
* refactor: Remove unnecessary AttachmentModuleTests.m_userId in favour of ↵Justin Clark-Casey (justincc)2012-06-261-40/+26
| | | | local variables
* refactor: Use local attachment module variables instead of global m_attMod.Justin Clark-Casey (justincc)2012-06-261-11/+10
| | | | This also avoids confusion between tests where one sets up m_attMod and another accidentally uses it after failing to set one up itself.
* refactor: make m_presence a local variable in all AttachmentsModuleTests ↵Justin Clark-Casey (justincc)2012-06-261-26/+25
| | | | since it doesn't need to be global and some tests set up more than one sp
* Add regression test to check that attachments in source region are deleting ↵Justin Clark-Casey (justincc)2012-06-262-18/+120
| | | | when an agent teleports to a neighbouring region
* If crossing attachments into another region pre-fatpack, clone objects ↵Justin Clark-Casey (justincc)2012-06-261-17/+26
| | | | | | | before changing properties to avoid hud display race condition with update threads. This matches behaviour in fatpack crossing, where attachments are cloned before their properties are changed. This only applies to crossings to simulators running code released before April 2011.
* minor: update currently commented out log message at top of ↵Justin Clark-Casey (justincc)2012-06-251-1/+3
| | | | AvatarFactoryModule.SetAppearance() for future use
* When attachments are being saved and deleted for a closing root agent, ↵Justin Clark-Casey (justincc)2012-06-251-12/+21
| | | | | | 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.
* In AttachmentsModule.DetachSingleAttachmentToInvInternal(), remove ↵Justin Clark-Casey (justincc)2012-06-251-1/+1
| | | | | | | | | 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.
* Resolve various race conditions between accessing and removing external ↵Justin Clark-Casey (justincc)2012-06-221-132/+148
| | | | script URLs by more consistently locking on m_UrlMap
* Avoid a race condition where an incoming request to a script external URL ↵Justin Clark-Casey (justincc)2012-06-221-35/+73
| | | | | | | | | | | can trigger an exception is the URL was being removed at the same time. This involves three steps 1) Return gracefully in UrlModule.HttpRequestHandler() instead of throwing an exception when the url cannot be found in its index 2) Return true instead of false in HasEvents() if no matching request is found in the map. This call will only happen in the first place for raced requests. 3) Return a 404 in GetEvents() if the request is not in the index, rather than a blank 200 OK. Many thanks to Tom Haines in http://opensimulator.org/mantis/view.php?id=6051 for doing some of the work on this.
* Stop flicking IsAttachment false and then true in ↵Justin Clark-Casey (justincc)2012-06-221-10/+0
| | | | | | | | 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.
* refactor AttachmentsModule tests to use a common method for standard ↵Justin Clark-Casey (justincc)2012-06-221-70/+69
| | | | attachment item setup
* Add regression test for updating attachment positionJustin Clark-Casey (justincc)2012-06-221-0/+30
|
* Lower warn logging on not having friends/group module on permissions to debug.Justin Clark-Casey (justincc)2012-06-201-2/+2
| | | | It's a valid configuration not to have these modules, but I think it's still worth logging the fact that certain permissions won't work (always return true)
* minor: Lower flotsam asset cache warning about not having a FlotsamCache.ini ↵Justin Clark-Casey (justincc)2012-06-201-1/+1
| | | | | | to debug It's perfectly okay not to have this section.
* Comment out the neighbour and land in connectors from info logging that they ↵Justin Clark-Casey (justincc)2012-06-202-2/+2
| | | | are starting up
* Change read config paramter from max_urls_per_simulator to ↵Justin Clark-Casey (justincc)2012-06-161-1/+1
| | | | max_external_urls_per_simulator, which is what it was meant to be