Commit Graph

2724 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
6325fa515d Add UUID to physics prim name parameter so that diagnostic messages can be made more useful.
If a separate UUID parameter is better for the future then this can be added later on.
2010-09-25 00:51:40 +01:00
Justin Clark-Casey (justincc)
b366ad5012 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-25 00:00:00 +01:00
Justin Clark-Casey (justincc)
5bcf9ae2f9 If the uuid gatherer fails to find the asset containing gesture metadata, then simply return rather than generating an exception
This matches existing behaviour, though better diagnostics for missing assets may be good later on.
This addresses http://opensimulator.org/mantis/view.php?id=4977
2010-09-24 23:58:37 +01:00
Melanie
2b8c99c2fb Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-21 04:02:50 +01:00
Melanie
10a37f5be4 Refactor script create permission into the perms module 2010-09-21 04:02:28 +01:00
Justin Clark-Casey (justincc)
a85779e477 If the uuid of a SceneObjectGroup (RootPart) is changed before adding to the scene, remove the old uuid reference from m_parts as well as adding the new one.
The separate remove and set operations is SOG.set_UUID() are both locked under m_parts.SyncRoot since they are logically atomic (though this isn't such an issue if the SOG isn't part of a scene)
Added unit test for this behaviour.
Also changed the second m_parts.AddOrReplace() to m_parts.Add().  As the old reference is now removed we never end up replacing an identical uuid.  And if we replace a uuid that's already there (from a child part) then this is an error.
2010-09-21 00:58:54 +01:00
John Hurliman
b49cb3355f Fixed a regression in SOG.Copy() 2010-09-16 17:57:00 -07:00
John Hurliman
5321e0e69f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-16 17:31:24 -07:00
John Hurliman
860b2a502f Changed SceneObjectGroup to store parts with the fast and thread-safe MapAndArray collection 2010-09-16 17:30:46 -07:00
Justin Clark-Casey (justincc)
e3f1533705 Fix build break by replacing Items.LockItemsForWrite() with lock (Items) {} 2010-09-17 01:21:28 +01:00
root
670357367e Removing debug 2010-09-16 23:32:18 +01:00
root
1b2edfe75f JustinCC is evil. f7b28dd3 broke script persistence. This fixes it. 2010-09-16 23:19:46 +01:00
Justin Clark-Casey (justincc)
39d27fc879 rename SceneObjectGroup.DeleteGroup() to DeleteGroupFromScene() to improve code readability 2010-09-15 22:29:58 +01:00
Justin Clark-Casey (justincc)
16f296f489 Instead of locking SOG.Children when a group is being removed from the scene, iterate over an unlocked list instead
Previously, deadlock was possible because deleting a group took a SOG.Children lock then an m_entityUpdates.SyncRoot lock in LLClientView
At the same time, a thread starting from LLClientView.ProcessEntityUpdates() could take an m_entityUpdates.SyncRoot lock then later attempt to take a SOG.Children lock in PermissionsModule.GenerateClientFlags() and later on
Taking a children list in SOG appears to be a better solution than changing PermissionsModule to not relook up the prim.  Going the permission modules root would require that all downstream modules not take a SOG.Children lock either
2010-09-15 21:51:13 +01:00
Justin Clark-Casey (justincc)
36f81c66e5 Comment out SOG storing debug log message
This can get very spammy with regularly changing objects.  Please uncomment if required.
2010-09-14 00:05:38 +01:00
Justin Clark-Casey (justincc)
dd803b4f0c minor: Add comments which explain what's going on wrt avatar movements at various points in the main scene loop and associated methods 2010-09-13 21:53:25 +01:00
Justin Clark-Casey (justincc)
7ae9266186 Remove SceneGraph.DetachObject() which was accidentally left around after being migrated to AttachmentsModule 2010-09-13 21:20:31 +01:00
Justin Clark-Casey (justincc)
cd153a20b7 Remove IAttachmentsModule.SetAttachmentInventoryStatus() from public interface
No core module is calling and it makes more sense to call methods such as AttachObject() which attach both to the avatar and update inventory appropriately
2010-09-13 21:05:03 +01:00
Justin Clark-Casey (justincc)
ff098ae110 minor: Clean up log messages generated when an item is attached 2010-09-13 20:44:32 +01:00
John Hurliman
c03b24cbfd Merged 2010-09-12 14:21:51 -07:00
John Hurliman
0db1ed0b5a * Added ISimulationDataService and IEstateDataService
* Removed StorageManager
* CONFIG CHANGE: There are no more database settings in OpenSim.ini. Check the config-include configuration files for region store and estate store database settings
2010-09-12 14:20:26 -07:00
Jeff Ames
f1f0bc23f4 Formatting cleanup. 2010-09-12 13:43:49 -04:00
Jeff Ames
20cd1da6bf Add copyright headers. 2010-09-12 12:54:31 -04:00
John Hurliman
16d782eaa2 Added a stub for OpenSim.Services.Connectors.Simulation.SimulationDataServiceConnector 2010-09-12 00:30:13 -07:00
John Hurliman
007912d6f4 Shuffling fields and properties around in Scene to make Scene.cs more readable 2010-09-11 23:41:48 -07:00
John Hurliman
e2544584ad Changed all string references of "IRegionDataStore" to "ISimulationDataStore" 2010-09-11 22:02:34 -07:00
John Hurliman
109b517583 Fixed the naming mess around data connectors for simulation data 2010-09-11 20:43:06 -07:00
randomhuman
30306a775a Made it impossible to create a user with names containing spaces and prevented passwords from being echoed after enter is pressed. 2010-09-10 23:19:18 +01:00
John Hurliman
b597a295c4 Second pass at cleaning up thread safety in EntityManager and SceneGraph 2010-09-10 12:41:36 -07:00
John Hurliman
dd277a0d02 First pass at cleaning up thread safety in EntityManager and SceneGraph 2010-09-10 12:04:12 -07:00
Justin Clark-Casey (justincc)
b8d14fcc4a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-08 01:05:56 +01:00
John Hurliman
9be1c0ff44 * Cache null account responses in the SimianUserAccountServiceConnector to avoid repeated requests for missing avatar IDs
* Updated to OpenMetaverse r3442 to fix a timezone issue with ExpiringCache
2010-09-07 14:41:13 -07:00
Melanie
8fda08d858 Make sure unlinked child prims get persisted 2010-09-07 11:48:28 +01:00
Justin Clark-Casey (justincc)
f7b28dd321 If a scene object part UUID is changed (only possible when not in a scene), then adjust the inventory items to point to the new uuid as well 2010-09-07 03:41:29 +01:00
Justin Clark-Casey (justincc)
84ad9e4d4e minor: comment out some excessive test logging 2010-09-07 02:05:44 +01:00
Melanie
99bfb0d2a2 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-07 01:45:08 +01:00
Justin Clark-Casey (justincc)
3d033520fa Fix deletion persistence when freshly delinked prims are removed
Previously, Scene.Inventory.DeRezObjects() forced the persistence of prims before deletion.
This is necessary so that freshly delinked prims can be deleted (otherwise they remain as parts of their old group and reappear on server restart).
However, DeRezObjects() deleted to user inventory, which is not required by llDie() or direct region module unlink and deletion.
Therefore, forced persistence has been pushed down into Scene.UnlinkSceneObject() to be more general, this is still on the DeRezObjects() path.

Uncommented TestDelinkPersistence() since this now passes.
Tests required considerable elaboration of MockRegionDataPlugin to reflect underlying storing of parts.
2010-09-07 01:43:20 +01:00
Justin Clark-Casey (justincc)
11f4a65f42 Fix deletion persistence when freshly delinked prims are removed
Previously, Scene.Inventory.DeRezObjects() forced the persistence of prims before deletion.
This is necessary so that freshly delinked prims can be deleted (otherwise they remain as parts of their old group and reappear on server restart).
However, DeRezObjects() deleted to user inventory, which is required by llDie() or direct region module unlink and deletion.
Therefore, forced persistence has been pushed down into Scene.UnlinkSceneObject() to be more general, this is still on the DeRezObjects() path.

Uncommented TestDelinkPersistence() since this now passes.
Tests required considerable elaboration of MockRegionDataPlugin to reflect underlying storing of parts.
2010-09-07 01:12:06 +01:00
Justin Clark-Casey (justincc)
e55f6d47e9 Add test that checks correct persistence when an unlink is quickly followed by deletion of a linked part
This test is temporarily not running since it currently fails due to a bug in this area
2010-09-06 23:28:52 +01:00
Justin Clark-Casey (justincc)
ab875b32c1 Make console backup command do a forced backup rather than non-forced
Remove no-arg backup method for simplicity as it only make sense to call non-forced backup internally
2010-09-06 23:12:03 +01:00
Justin Clark-Casey (justincc)
537fefa3f2 extend TestNewSceneObjectLinkPersistence() to check for presence of non-root linked prim 2010-09-06 23:06:23 +01:00
Justin Clark-Casey (justincc)
953b7f4917 Add test to check persistence of newly added pre-linked objects
Added a MockRegionDataPlugin to do in-memory persistence for tests since adding this to OpenSim.Data.Null.NullDataStore doesn't seem appropriate
NullDataStore can do nothing because OpenSim only ever retrieve region objects from the database on startup.  Adding an in-memory store here would be unecessary overhead.
2010-09-06 23:00:24 +01:00
Melanie Thielker
0246edc2ea Reflect the ParcelPropertiesUpdateRequest into Scene.EventManager, because
modules need to see it (Search!) even if it comes in via CAPS
2010-09-06 04:09:51 +01:00
Melanie
64ec14c8c4 Add missing IDwellModule interface 2010-09-05 17:08:57 +01:00
Diva Canto
68f107b27e Logout the presence if client IP verification fails. 2010-09-04 18:46:27 -07:00
Justin Clark-Casey (justincc)
1e8e98a07f Move code that allows llGiveInvetory() to move item into appropriate system folder up from connectors into Scene.Inventory.cs
This fixes the problem for all architectures (hg as well as local and grid) and means we don't have to dupe code between connectors.
Not ideal in that it becomes non-modular, but methods in Scene.Inventory.cs should eventually be modularized anyway.
2010-09-04 01:36:26 +01:00
Justin Clark-Casey (justincc)
107052b23d Create Scene.Inventory.cs.AddInventoryItem(InventoryItemBase item)
The agentID in AddInventoryItem(UUID agentID, InventoryItemBase item) is redundant since it's contained in item.Owner, and it doesn't make sense for agentID != item.Owner, hence the method is deprecated.
2010-09-04 00:09:53 +01:00
Melanie Thielker
17a26c3701 Fix an issue with rezzing scripted objects. 2010-09-03 03:27:26 +01:00
Melanie Thielker
1c8bc9b7b6 Remove commented code and the comment, as the change has proven out 2010-09-02 21:02:09 +01:00
Melanie Thielker
7720419fc7 Experimentally comment the sending of unbaked avatars 2010-09-02 20:17:49 +01:00