aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Avoid a race condition between the scene shutdown thread and the update ↵Justin Clark-Casey (justincc)2012-07-271-3/+5
| | | | | | | | | thread since commit c150320 (Thu Jul 26 15:27:18 2012) c150320 started explicitly disposing of the physics scene and nulling it out on region shutdown. However, the update loop may not have yet checked Scene.ShuttingDown, particularly if avatars were not in the scene, causing failure when it tried to lookup time dilation. This commit moves the setting of m_shuttingDown above the existing 500ms pause to notify avatars that they are being kicked. This should not affect the few other places that use this flag.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimRobert Adams2012-07-261-23/+46
|\
| * When copying items, copy the item description field instead of the asset ↵Justin Clark-Casey (justincc)2012-07-261-23/+46
| | | | | | | | | | | | | | | | description field. If we copy the asset description then we will only ever replicate the very first description, if there was one, not any subsequent changes. Thanks to Oren Hurvitz of Kitely for this patch from http://opensimulator.org/mantis/view.php?id=6107 I have adapted it slightly to change the order of arguments (name before description rather than vice-versa) and slightly improve some method doc.
* | Add a Dispose() of the physics engine when a scene is being shutdown.Robert Adams2012-07-261-0/+9
|/
* Move Watchdog and MemoryWatchdog classes into OpenSim.Framework.Monitoring ↵Justin Clark-Casey (justincc)2012-07-251-0/+1
| | | | with other monitoring code from OpenSim.Framework
* Rename OpenSim.Framework.Statistics to OpenSim.Framework.Monitoring.Justin Clark-Casey (justincc)2012-07-252-2/+2
| | | | This better reflects the long-term purpose of that project and matches Monitoring modules.
* Make SceneManager.OnRegionsReadyStatusChange event available.Justin Clark-Casey (justincc)2012-07-254-10/+76
| | | | | This is fired when all regions are ready or when at least one region becomes not ready. Recently added EventManager.OnRegionReady becomes OnRegionReadyStatusChange to match OnLoginsEnabledStatusChange
* Change attachment handling to remove object from the scene first as perMelanie2012-07-232-11/+19
| | | | | | justincc's original work. Sample scripts before doing so. Also refactor some crucial common code and eliminate parameters that were only ever used with the same constant value.
* Committing Avination's memleak fix-a-thon, installment #3Melanie2012-07-231-0/+2
| | | | | | When linking, detach the no longer used SOG's from backup so they can be collected. Since their Children collection is never emptied, they prevent their former SOPs from being collected as well.
* Stop explicitly closing and nulling out Animator in order to prevent NREs in ↵Justin Clark-Casey (justincc)2012-07-192-23/+7
| | | | | | | various places due to race conditions. Even where checks are being made they aren't enough since they all assume that the Animator they just checked is still there in the next line, which is not necessarily the case without locking. The memory used is small and these should be GC'd anyway when the SP is released. If this is not happening then the wider problem of old SPs being retained needs to be resolved.
* Prevent race conditions between two threads that call LLClientView.Close() ↵Justin Clark-Casey (justincc)2012-07-191-3/+3
| | | | simultaneously (e.g. ack timeout and an attempt to reconnect)
* Add TestCreateDuplicateRootScenePresence() regression test.Justin Clark-Casey (justincc)2012-07-193-1/+41
|
* Add basic TestCreateRootScenePresence() regression testJustin Clark-Casey (justincc)2012-07-191-135/+144
|
* Add EventManager.OnRegionLoginsStatusChange fired whenever logins are ↵Justin Clark-Casey (justincc)2012-07-194-16/+35
| | | | | | | 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.
* Add back notification to neighbouring regions when RegionReadyModule is not ↵Justin Clark-Casey (justincc)2012-07-181-0/+3
| | | | active accidentally just removed in 528004d
* Perform other region ready actions even if simulator is configured to leave ↵Justin Clark-Casey (justincc)2012-07-182-20/+19
| | | | logins disabled on startup.
* Fix bug where region ready was being triggered twice in quick succession if ↵Justin Clark-Casey (justincc)2012-07-181-9/+12
| | | | a region contained no scripts.
* Establish EventManager.OnRegionReady event. This will only be triggerred ↵Justin Clark-Casey (justincc)2012-07-182-3/+35
| | | | | | 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-182-5/+4
| | | | | | 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
* Merge branch 'master' of git://opensimulator.org/git/opensimDan Lake2012-07-182-24/+16
|\
| * Close() the ScenePresence after we've removed it from the scene graph, to ↵Justin Clark-Casey (justincc)2012-07-181-10/+16
| | | | | | | | cut down race conditions when another thread manages the grab the presence after some SP structures have been reset.
| * Revert "Fix script "Running" behavior"Melanie2012-07-161-14/+0
| | | | | | | | | | | | A better solution using the already present flags must be found. This reverts commit 6d3ee8bb39d47ed7b32e8905fa0b2fc31c5a9f80.
* | Missing parameter in log error message was throwing exceptionDan Lake2012-07-181-1/+1
|/
* Don't cache regions data on the other unused LocalGridServiceConnector that ↵Justin Clark-Casey (justincc)2012-07-131-5/+17
| | | | | | 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.
* Change very recent AllowedViewerList and BannedViewerList config setting ↵Justin Clark-Casey (justincc)2012-07-121-4/+4
| | | | | | | names in OpenSim.ini.example to AllowedClients and BannedClients to match long-existing settings in [LoginService] Also changes separator from comma to bar to match existing [LoginService] config features. Divergence of config names for identical facilities in different places makes for an unnecessarily confusing user experience.
* Many explanitory comments added to the link and delink code inRobert Adams2012-07-112-23/+93
| | | | SOG and SOP. Should have no functionality changes.
* Add regression TestDetachScriptedAttachmentToInventory()Justin Clark-Casey (justincc)2012-07-111-0/+4
| | | | This currently only does a relatively crude check for a ScriptState node in the serialized xml
* If a part has a sit target and an avatar is already sitting, allow another ↵Justin Clark-Casey (justincc)2012-07-101-7/+4
| | | | | | | avatar to sit in the position given if no sit target was set. Previous behave was that the second avatar could not sit. This matches behaviour observed on the LL grid.
* refactor: move management of SOP.SitTargetAvatar into SOP.AddSittingAvatar() ↵Justin Clark-Casey (justincc)2012-07-102-5/+6
| | | | and SOP.RemoveSittingAvatar()
* Revert "refactor: Add SOP.IsSitTargetOccupied to improve readability"Justin Clark-Casey (justincc)2012-07-102-8/+3
| | | | | This reverts commit c8f0d476d2f775ba4d7afca12eeff527b46bb8e2. On reconsideration, I think this is less readable since immediately following code still sets SitTargetAvatar directly
* refactor: Add SOP.IsSitTargetOccupied to improve readabilityJustin Clark-Casey (justincc)2012-07-102-3/+8
|
* refactor: use sit orientation argument passed in to SP.SendSitResponse() ↵Justin Clark-Casey (justincc)2012-07-101-4/+2
| | | | | | rather than creating a new copy There are no issues with side-effects since this is a struct.
* Move common code to detect whether a part has a valid sit target into a SOP ↵Justin Clark-Casey (justincc)2012-07-102-30/+20
| | | | | | | property rather than being repeated in SP. This also makes the detection in SP.FindNextAvailableSitTarget() and SendSitResponse() identical. Previously they varied slightly (SendSitResponse didn't check for an older type of invalid quaternion) but the practical effect is most probably zero.
* Remove log line accidentally left in SP.SendSitResponse()Justin Clark-Casey (justincc)2012-07-101-1/+1
|
* Fix recent SOP.GetSittingAvatars() to return null if there are no sitting ↵Justin Clark-Casey (justincc)2012-07-102-6/+32
| | | | | | avatars rather than throwing an exception. Extends sitting avatar regression tests to test new sitters information
* When an attachment is detached to inv or derezzed, stop the scripts, update ↵Justin Clark-Casey (justincc)2012-07-103-5/+83
| | | | | | 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.
* Don't allow a prim to be sat upon if its part of an attachmentJustin Clark-Casey (justincc)2012-07-091-0/+9
|
* Do not allow a script to attach a prim if its being sat upon.Justin Clark-Casey (justincc)2012-07-093-8/+122
| | | | | | 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 redundant SetScene() function in Scene.AddSceneObject()Justin Clark-Casey (justincc)2012-07-073-15/+3
| | | | | This is always done later on in SceneGraph.AddSceneObject() if the call hasn't failed due to sanity checks. There's no other purpose for this method to exist and it's dangerous/pointless to call in other conditions.
* Remove now duplicate interregion object check that should have been removed ↵Justin Clark-Casey (justincc)2012-07-061-12/+0
| | | | a few commits ago in 43a2da9
* Add assert to attachment regression tests to check that number of objects in ↵Justin Clark-Casey (justincc)2012-07-062-5/+24
| | | | the scene graph
* Pull prim crossing/teleport checks up into Scene.IncomingCreateObject() from ↵Justin Clark-Casey (justincc)2012-07-061-14/+27
| | | | | | Scene.AddObject() Only IncomingCreateObject() needs these checks. General object adding does not need to perform crossing perm checks
* Add OSSL function osForceAttachToAvatarFromInventory()Justin Clark-Casey (justincc)2012-07-055-30/+35
| | | | | | | 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.
* Correct spelling mistake m_BanedViewers to m_BannedViewersJustin Clark-Casey (justincc)2012-07-031-4/+4
|
* minor: Add some method doc to HasGroupChanged and Schedule ↵Justin Clark-Casey (justincc)2012-07-031-2/+21
| | | | GroupForFull/PartUpdate() to indicate when region modules need to invoke them
* Fix issue in database tests where sogs being stored are not in a scene.Justin Clark-Casey (justincc)2012-07-031-1/+1
| | | | This puts an extra m_part.ParentGroup.Scene == null check at the top of SceneObjectPartInventory.QueryScriptStates()
* Adds a list of viewers that are allowed or banned from the region.Michelle Argus2012-07-021-0/+65
| | | | Signed-off-by: Melanie <melanie@t-data.com>
* Add preservation of running state of scripts when drag-copying.Melanie2012-07-011-1/+35
|
* Removing unused handling of incoming create object by userID and itemID only.Justin Clark-Casey (justincc)2012-06-301-22/+0
| | | | | It appears this was never actually used since attachments were rezzed in other code. This was never available on remote simulator comms, only local.
* Remove code listed for removal in 0.7.3 that handled script restart for ↵Justin Clark-Casey (justincc)2012-06-301-16/+0
| | | | incoming attachments from pre-fatpack regions (versions of OpenSimulator more than a year old)