From bfd9cc44b40e64af3c7504d43a15b7e1b44070a0 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Sat, 26 Mar 2011 02:05:53 +0000
Subject: When an object is duplicated, add the dupe to the uuid/local id
indexes as well as the basic entities list.
Added a prim counts test to reinforce this - shift-copy was no incrementing prim count. This will sometime become a basic scene test.
New code needs to be refactored so we just call SceneGraph.AddSceneObject(). This will happen in the near future.
With this, basic owner prim counts on a single parcel appear to be working fine (with the same previous existing taint calls as used by the land management module).
More work to do.
---
.../World/Land/Tests/PrimCountModuleTests.cs | 23 ++++++++++++++++++++++
1 file changed, 23 insertions(+)
(limited to 'OpenSim/Region/CoreModules')
diff --git a/OpenSim/Region/CoreModules/World/Land/Tests/PrimCountModuleTests.cs b/OpenSim/Region/CoreModules/World/Land/Tests/PrimCountModuleTests.cs
index 80b2859..dd55f98 100644
--- a/OpenSim/Region/CoreModules/World/Land/Tests/PrimCountModuleTests.cs
+++ b/OpenSim/Region/CoreModules/World/Land/Tests/PrimCountModuleTests.cs
@@ -105,6 +105,29 @@ namespace OpenSim.Region.CoreModules.World.Land.Tests
}
///
+ /// Test count after a parcel owner owned copied object is added.
+ ///
+ [Test]
+ public void TestCopiedOwnerObject()
+ {
+ TestHelper.InMethod();
+// log4net.Config.XmlConfigurator.Configure();
+
+ IPrimCounts pc = m_lo.PrimCounts;
+
+ SceneObjectGroup sog = SceneSetupHelpers.CreateSceneObject(3, m_userId, 0x01);
+ m_scene.AddNewSceneObject(sog, false);
+ m_scene.SceneGraph.DuplicateObject(sog.LocalId, Vector3.Zero, 0, m_userId, UUID.Zero, Quaternion.Identity);
+
+ Assert.That(pc.Owner, Is.EqualTo(6));
+ Assert.That(pc.Group, Is.EqualTo(0));
+ Assert.That(pc.Others, Is.EqualTo(0));
+ Assert.That(pc.Users[m_userId], Is.EqualTo(6));
+ Assert.That(pc.Users[m_dummyUserId], Is.EqualTo(0));
+ Assert.That(pc.Simulator, Is.EqualTo(6));
+ }
+
+ ///
/// Test count after a parcel owner owned object is removed.
///
[Test]
--
cgit v1.1