aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/EventManager.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-10-01Formatting cleanup.Jeff Ames1-2/+2
2009-09-27Unpacking the mess with OtherRegionUp, so we can have a real cache of the ↵Diva Canto1-0/+13
neighbours in the grid service modules.
2009-08-16Misc cleanup.Jeff Ames1-1/+1
2009-08-13Formatting cleanup. Fix some compiler warnings.Jeff Ames1-1/+1
2009-08-07Another stab at cmickeyb's patch for script GC.Melanie1-5/+6
Moved the Close() for the appdomain-hosted parts into a new destructor on ScriptInstance.
2009-08-07Revert the XEngine memleak patch, it causes premature GC.Melanie1-6/+5
This matches behavior seen with an earlier attempt to do this, apparently the sponsor mechanism does't work in Mono
2009-08-06|From: James J Greensky <jame.j.greensky@intel.com>Melanie1-5/+6
|Date: Wed, 5 Aug 2009 09:51:52 -0700 |Subject: [PATCH] Closed two major memory leaks for scripted objects | |Two major memory leaks for the scripted objects were fixed |- One leak had to do with remoting acrossing app domains. When a script and | its controlling agent communicate across an application boundary, it calls | functions on a stub proxy object that then invokes the remote method on | the object in the other app domain. These stub objects (two for each script) | were setup to have infinate lifetimes and were never being garbage collected. |- The second leak was the result of adding a scene object part instance method | to a scene event and never removing it. This cause the event's delegate list | to maintain a link to that object which is then never freed as the scene event | object is never destroyed. Patch applied, please direct feedback to me. Possible issue: Longtime idle scripts like vendors may fail.
2009-08-04 This change adds support for the attach event in scripts.Alan Webb1-0/+16
[1] Added a new OnAttach event to Scene/EventManager [2] Hooked up existing attach event handler in XEngine. [3] Modified SceneGraph and Scene.Inventory to trigger attach events at the appropriate places. I was forced to distribut the changes across two files because of the way attach processing is distributed across the two files. [4] In the case of RezSingleAttachmentFromInventory it is necessary to handle event scheduling in a special way. There is no synchronous path available, so the fact that this object is attached, and who it is attached to, is cached when the ScriptInstance is created. When the script is started, the attached handler is driven after on_rez (but before changed, this should be reviewed). Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-06-19When a shared module hooks OnClientClosed, it has no way of findingMelanie Thielker1-3/+3
out which client connection has closed. So, in multi-region sims, things can get messy fast. This introduces a second parameters, which is a Scene object ref. Minor adjustments to custom modules may be required due to this change.
2009-06-19From: Chris Yeoh <yeohc@au1.ibm.com>Sean Dague1-3/+3
This patch ensures that the touch positions are set during touch_end events (currently only working for touch_start and touch events).
2009-06-18* Corrected CAPS namespacesArthur Valadares1-1/+1
* "luke, use the sed"
2009-06-01Minor: Change OpenSim to OpenSimulator in older copyright headers and ↵Jeff Ames1-1/+1
LICENSE.txt.
2009-04-15* Make it possible to add a request id to load and save oar requestsJustin Clarke Casey1-6/+8
* This allows specific requests to be identified.
2009-04-10Handle ObjectSpin* packets to spin physical prims on Ctrl+Shift+Dragnlin1-0/+32
Addresses Mantis #3381 The current implementation works as expected if the object has no rotation or only rotation around the Z axis; you can spin the object left or right (around the world Z axis). It works a little unexpectedly if the object has a non-Z-axis rotation; in this case the body is spun about its local Z axis, not the world Z-axis. (But SL also behaves oddly with a spin on an arbitrarily rotated object.)
2009-03-13Thank you, mcortez, for a patch that fixes a number of long standingMelanie Thielker1-13/+20
issues with the sun module. Fixes Mantis #3295
2009-03-12* Don't fail the client login if there are no OnClientConnect listenersJustin Clarke Casey1-1/+2
2009-02-12* optimized usings.lbsa711-3/+2
2009-02-06This changeset is the step 1 of 2 in refactoringDr Scofield1-3/+4
OpenSim.Region.Environment into a "framework" part and a modules only part. This first changeset refactors OpenSim.Region.Environment.Scenes, OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region modules in OpenSim.Region.Environment. The next step will be to move region modules up from OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and then sort out which modules are really core modules and which should move out to forge. I've been very careful to NOT BREAK anything. i hope i've succeeded. as this is the work of a whole week i hope i managed to keep track with the applied patches of the last week --- could any of you that did check in stuff have a look at whether it survived? thx!
2009-02-04Added a ForceSceneObjectBackup method to Scene, which as it says forces a ↵MW1-2/+2
database backup/update on the SceneObjectGroup. This is now called at the beginning of DeRezObject, so we know the database is upto date before we attempt to delete a object. Fix Mantis #1004 Which happened because Database backups don't happen if a object is still selected, so when you select a part in a link-set and then unlink it and then delete it, all without unselecting the prim at all. The unlink changes never get updated to the database. So then when the call to delete the prim from the database happens, which is called with the SceneObjectId. That SceneObjectId is never found, as the database still has that prim as part of another link set. It is possible that these changes might have to be reverted and for us to find a different method of fixing the problem. If the performance overhead is too high or it causes any other problems.
2009-02-02* Establish OnOarFileSaved EventManager event and subscribe to that instead ↵Justin Clarke Casey1-0/+16
of passing in a waithandle to the archiver * This matches the existing OnOarFileLoaded event * This brings up the question of how these things can be made generic so that they don't have to be tied into EventManager, but that's a topic for another day
2009-01-28From: Christopher Yeoh <yeohc@au1.ibm.com>Dr Scofield1-0/+31
Adding Oarfileloaded and EmptyScriptCompileQueue event support which allows (with a module) for programmatic notification of when a region objects and scripts are up and running after a server start or load-oar.
2008-12-12* refactor: pull out common user profile test code into utility functionsJustin Clarke Casey1-0/+4
2008-12-05Implementation of the llDetectedTouch* functionsidb1-3/+3
2008-11-22Add root agent tracking to presence moduleMelanie Thielker1-3/+3
2008-11-22Next step in the presence module - some core plumbing included atMelanie Thielker1-0/+13
no extra cost
2008-11-16Introduces the message transfer module. It splits the transfer mechanics offMelanie Thielker1-10/+19
the IM module and makes it into a module of it's own, which can be used by all other modules. Removes some ugly hacks. Refer to the IM module to see how it's used. Also fixes the persistence issue (Mantis #2598)
2008-11-09Script region crossing. This has not user functionality, but lays all theMelanie Thielker1-3/+3
groundwork.
2008-11-08* Implemented OnClientConnect in Scene EventManagerAdam Frisby1-0/+16
* Identical to OnNewClient except it passes IClientCore instead of IClientAPI * See http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide
2008-11-01Make the IM and friends modules optional. Clean up some code that dealtMelanie Thielker1-22/+6
with the old Grid Instant Message over OGS1. Refactor the EventManager to be independent of the rigid module structure design imposed by the current implementation. Message routing is now done in the destination module rather than in the event manager. This way, more or less granular solutions are possible without core changes.
2008-10-03This changeset changes the way chat from client is routed: Dr Scofield1-3/+19
old way: each region module interested in chat from client had to - subscribe to scene.EventManager.OnNewClient - then in its OnNewClient delegate it would subscribe to client.OnChatFromViewer to capture chat messages coming new way: ChatModule is the only region module that uses the "old way" approach but is now forwarding all client chat via scene.EventManager.OnChatFromClient - each region module interested in chat from client now only subscribes to scene.EventManager.OnChatFromClient this not only simplifies code, but also allows us to substitute ChatModule with derived classes (ConciergeModule is going to be one example). Also, this changeset changes ChatFromViewer to ChatFromClient as it doesn't necessarily have to be a viewer that is a chat source. i've taken great care to only comment out those OnNewClient delegates that were only used for getting at the client chat --- hope it's not breaking anything.
2008-09-25Convergence is almost complete. This brings the diff between the API to < 10kMelanie Thielker1-0/+11
and makes it use a common set of types in both engine. Fixes the issues with running both engines and HTTP requests / listens / timers etc.. Also fixes a couple of minor Scene issues and a CTB by nullref.
2008-09-21Change the scirpt engine loading mechanism. Script engines are nowMelanie Thielker1-3/+4
ordinary region modules and are able to coexist in one instance. See http://opensimulator.org/wiki/ScriptEngines for details. There were changes to OpenSim.ini.example, please note DefaultScriptEngine. Also see the User docs and FAQ on the Wiki. Default is DotNetEngine.
2008-09-06* This is the fabled LibOMV update with all of the libOMV types from JHurlimanTeravus Ovares1-44/+44
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle. * This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big! * Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
2008-08-27Thank you, salahazar, for a patch that corrects the behavior ofMelanie Thielker1-6/+6
llDetectedLink(). Also a small refactor to remove an interface member from IScriptEngine.
2008-08-18Formatting cleanup.Jeff Ames1-23/+9
2008-07-25renaming the increasingly ill-named ChatFromViewerArgs to OSChatMessageDr Scofield1-4/+4
2008-06-28Mantis#1616. Applied Melanie's patch. This may or mayCharles Krinke1-11/+26
not break trunk.
2008-06-05* This sends collision events to the script engine. Teravus Ovares1-1/+37
* Unfortunately, there's some kludges with the Async manager and the llDetected functions that I have yet to decipher... so llDetected functions don't work with collision events at the moment....
2008-06-04Mantis#1439. Thank you kindly, Melanie for a patch thatCharles Krinke1-0/+13
plumbs in the events for on_rez.
2008-06-02* Fixes a bug saving the current sun phase to the estate_settings file.Teravus Ovares1-0/+15
2008-05-30* Fixed a dangling event hook that I added.Teravus Ovares1-0/+12
* Added a Non-finite avatar position reset. This will either handle the <0,0,0> avatar gracefully, or send the avatar to 127,127,127 if that also doesn't work. ( I've only been able to reproduce this error once on my development workstation )
2008-05-26Thank you kindly, Melanie for a patch for script resetCharles Krinke1-0/+12
that creates the event handler chain ready to hook by script engines
2008-05-26Adding OnChatBroadcast event logic to EventManager providing Dr Scofield1-0/+16
a clean interface for Sim broadcasts. Added SimBroadcast support to ChatModule. Removing all code from IRCBridgeModule dealing with agent/client directly. Cleaning up ChatModule. Polishing IRC messages, adding support for "/me" (both directions).
2008-05-25* A hacky Top Scripts display. It isn't accurate as far as ms accounting, ↵Teravus Ovares1-0/+15
however you can use it to help find out what scripts are causing your simulator to cry. * Access it from the Estate tools/Debug tab.
2008-05-24* Fixes endless loop in the Land Module when selecting any object.Teravus Ovares1-10/+11
* Fixes returning objects when the object owner hasn't been in the simulator since the simulator started up last.
2008-05-23IRCBridgeModule (and ChatModule before the refactoring) didn't succeed in Dr Scofield1-2/+16
finding out which region a new avatar was logging in to; the same problem occurred when the client/avatar logged out. the reason was mani-fold: - Scene.AddNewClient(...) would call SubscribeToClientEvents(client) which would subscribe to all client events and then call TriggerOnNewClient(...) BEFORE the ScenePresence object had even been created and added. i've moved the TriggerOnNewClient() call to the end of Scene.AddNewClient() - Scene.AddNewClient(...) is called with child == true; a later call to ScenePresence.MakeRootAgent() will turn child to false. When OnNewClient is triggered, child is still true, causing IRCBridgeModule's FindClientRegion to ignore the ScenePresence of the new avatar. i've changed IRCBridgeModule to still use OnNewClient and also OnLogout and OnConnectionClosed but only to signal that the avatar has logged on (logged off respectively). to track whether an avatar has actually entered a region i've added EventManager.OnMakeRootAgent (complementing OnMakeChildAgent). also, i've cleaned up the internal IRCModule code a bit. currently it still uses IClientAPI.SendChatMessage() which replicates the code in ChatModule, that needs to be changed to use TriggerOnChatFromWorld().
2008-05-23*Refactor of the LandManagementModule that allows OpenSim to run without itmingchen1-0/+89
2008-05-23i've refactored the ChatModule into two modules: ChatModule and IRCBridgeModule.Dr Scofield1-0/+18
ChatModule is now only doing in-world chat. IRCBridgeModule is only doing, well, bridging chat to/from IRC. Both modules are now using a new OnChatFromWorld event handler (which Scene.PacketHandler is feeding for chat from in-world instead of going via the Interface method). This refactoring will allow us to easily add other bridge modules (e.g., an XMPP bridge module). there is still a bug in IRCBridgeModule (inherited from the old ChatModule) where FindClientRegion does not really find the client region...
2008-05-21* Going to the C# syntactic sugar way of handling the backup event delegates.Teravus Ovares1-8/+2
2008-05-21* This update causes the backup process to run in a separate thread.Teravus Ovares1-2/+8
* Concurrency issues are resolved because each object makes a memory-only copy of itself and backs up the copy. * Because of the way this is done, the latest at the time of the backup gets backed up (no functionality change) * You can move *thousands of objects at a time* and the sim doesn't freeze and wait for the backup to complete. * This can be enhanced more by dedicating the thread as opposed to starting it when the backup process starts.