Commit Graph

244 Commits

Author SHA1 Message Date
Melanie
4f15b8d4e6 Change the way attachments are persisted. Editing a worn attachment will now
save properly, as will the results of a resizer script working. Attachment
positions are no longer saved on each move, but instead are saved once on
logout. Attachment script states are saved as part of the attachment now
when detaching.
2010-11-16 20:44:39 +01:00
Melanie
15da52d73a Prevent temp-on-rez prims from being persisted 2010-11-08 19:00:03 +01:00
Melanie
b8924167e0 Fix creation of a duplicate physics actor on chained drag-copy operations,
the main cause for "ghost prims"
2010-11-04 10:37:39 +01:00
Melanie
52dd547863 Make SendKillObject send multiple localIDs in one packet. This avoids the
halting visual behavior of large group deletes and eliminates the packet flood
2010-10-08 11:31:52 +02:00
Melanie
2db0ac74c7 Implement taking of coalesced objects.
WARNING!!!!!
You can TAKE them, but you can't REZ them again. Only the first of the contained
objects will rez, the rest is inaccessible until rezzing them is implemented.
Also, rotations are not explicitly stored. This MAY work. Or not.
2010-10-07 01:13:17 +02:00
Melanie
42f76773a1 Plumb the path for multiple object deletes 2010-10-06 19:59:30 +02:00
Melanie
9522881404 Fix a potential key collision 2010-09-30 02:46:47 +02:00
Melanie
4fbdcb95a0 Merge branch 'master' into careminster-presence-refactor 2010-09-25 06:19:26 +01:00
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
Melanie
41847e8fdf Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-09-21 04:03:40 +01:00
Melanie
9feef34a81 Merge branch 'master' into careminster-presence-refactor 2010-09-21 04:03:14 +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
Melanie
9cf8795ecf Fix a merge artefact that broke script state persistence in XAttachments 2010-09-19 22:53:05 +02:00
root
87a1e00f05 Remove the now unused partslock 2010-09-17 04:00:00 +02:00
Melanie
7df4383235 Merge branch 'master' into careminster-presence-refactor
Integrate the next large patch.
Don't use this version, it has a ghost avatar issue. Next push
will fix it.
2010-09-17 03:49:30 +01:00
John Hurliman
b49cb3355f Fixed a regression in SOG.Copy() 2010-09-16 17:57:00 -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
root
1e4e978f7f Removing debug 2010-09-16 23:26:53 +02:00
root
a0c87b5af6 JustinCC is evil. f7b28dd3 broke script persistence. This fixes it. 2010-09-16 23:12:32 +02:00
root
ec89dc99b7 Some small bug fixes 2010-09-16 18:58:25 +02:00
Melanie
58b1ee8e2c Merge branch 'master' into careminster-presence-refactor 2010-09-16 18:04:50 +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
Melanie Thielker
540a1912ce Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-09-14 22:14:23 +02:00
Melanie
1212cb0c74 Merge branch 'master' into careminster-presence-refactor 2010-09-14 22:03:42 +01:00
Melanie Thielker
cc290abf7a Adjust the code for ghost prim removal to new information from Kitto 2010-09-14 22:13:44 +02:00
Melanie Thielker
d299f8b55c Fix a small left over buglet and also add checking of the physics actor
position on backup. This way, ant object that has been moved will be
checked for ghost prims as soon as it is persisted.
2010-09-14 19:41:53 +02: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
Melanie
6a1ce17cdb Merge branch 'master' into careminster-presence-refactor
The modules will need to be updated for this to compile and run again. Please
don't use until I do the companion commit to modules later on.
2010-09-13 16:17:38 +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
John Hurliman
109b517583 Fixed the naming mess around data connectors for simulation data 2010-09-11 20:43:06 -07:00
John Hurliman
b597a295c4 Second pass at cleaning up thread safety in EntityManager and SceneGraph 2010-09-10 12:41:36 -07:00
Melanie
3284356bba Merge branch 'master' into careminster-presence-refactor 2010-09-07 01:48:00 +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)
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
Justin Clark-Casey (justincc)
6cbf66827b refactor: move SOG.AttachToAgent() into AttachmentsModule 2010-09-01 01:11:52 +01:00
Melanie
79bfa275da Merge branch 'master' into careminster-presence-refactor 2010-08-30 02:30:28 +01:00
Justin Clark-Casey (justincc)
1c0b4457cd Improve liveness by operating on list copies of SOG.Children where appropriate 2010-08-28 00:40:33 +01:00
Justin Clark-Casey (justincc)
166ab59420 replace m_parts.Count linknum with 0 in CopyRootPart since m_parts.Count is always 0 (and any other number would cause an error anyway) 2010-08-26 00:15:26 +01:00
Justin Clark-Casey (justincc)
8031f8ec09 Improve consistency of locking for SOG.m_parts in order to avoid race conditions in linking and unlinking 2010-08-26 00:08:53 +01:00
Melanie
fc8d2be632 Merge branch 'master' into careminster-presence-refactor
This was rather conflicted. Please test linking.
2010-08-26 00:11:07 +01:00
Justin Clark-Casey (justincc)
24d06b12c2 If setting SOG.UUID, update the SOG.m_parts index as well as the root part UUID
Being able to change a SOG.UUID is useful for region modules that want to supply their own UUID, before the object is rezzed
2010-08-25 23:05:54 +01:00
Melanie
e74809ff4c Merge branch 'master' into careminster-presence-refactor 2010-08-18 00:59:20 +01:00
Justin Clark-Casey (justincc)
39a748b47a refactor: Use SOP.Flags rather than SOP.ObjectFlags 2010-08-13 20:23:53 +01:00
Mikko Pallari
3f942a4f74 Removed abstract SetText method from EntityBase to make cleaner API.
Signed-off-by: Melanie <melanie@t-data.com>
2010-08-10 19:37:15 +01:00
Justin Clark-Casey (justincc)
2a1c11fda9 On shift-copy of an object, set up a new physics actor (as appropriate) for every copied prim, not just the root
This addresses http://opensimulator.org/mantis/view.php?id=4295
2010-08-10 20:15:44 +01:00
meta7
fb14390fb0 Note to self: don't break the build 2010-08-10 09:17:30 -07:00