From c3532ba876b47c20b6b2fd79bf79c0290e6d9fb5 Mon Sep 17 00:00:00 2001
From: UbitUmarov
Date: Sun, 25 Oct 2015 19:59:05 +0000
Subject: set SOG.IsAttachment when doing a full check, so future gets see the
right value
---
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 1c4b77a..1d89267 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -447,7 +447,12 @@ namespace OpenSim.Region.Framework.Scenes
///
public bool IsAttachmentCheckFull()
{
- return (IsAttachment || (m_rootPart.Shape.PCode == (byte)PCodeEnum.Primitive && m_rootPart.Shape.State != 0));
+ if(IsAttachment)
+ return true;
+
+ IsAttachment = (m_rootPart.Shape.PCode == (byte)PCodeEnum.Primitive && m_rootPart.Shape.State != 0);
+
+ return IsAttachment;
}
private struct avtocrossInfo
--
cgit v1.1
From dd9b06e3b68919f9b093c7673427c4beeb1fb1ea Mon Sep 17 00:00:00 2001
From: UbitUmarov
Date: Thu, 29 Oct 2015 22:14:11 +0000
Subject: fix mantis 7733, reverting setting of IsAttachment on first call to
full check. Replace instead same simple IsAttachment tests by full checks
---
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
(limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 1d89267..f3b3a9c 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -447,12 +447,8 @@ namespace OpenSim.Region.Framework.Scenes
///
public bool IsAttachmentCheckFull()
{
- if(IsAttachment)
- return true;
-
- IsAttachment = (m_rootPart.Shape.PCode == (byte)PCodeEnum.Primitive && m_rootPart.Shape.State != 0);
-
- return IsAttachment;
+ return (IsAttachment ||
+ (m_rootPart.Shape.PCode == (byte)PCodeEnum.Primitive && m_rootPart.Shape.State != 0));
}
private struct avtocrossInfo
--
cgit v1.1
From dc6d9eadf33b9a0321664d676030b07b2bd04bed Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Sat, 31 Oct 2015 00:01:35 +0100
Subject: Testing stage of the new versioning system. Use at own risk. May not
work. Will eat your babies. Yada. Yada.
---
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 1d89267..f5e2c9d 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -480,7 +480,7 @@ namespace OpenSim.Region.Framework.Scenes
)
{
IEntityTransferModule entityTransfer = m_scene.RequestModuleInterface();
- string version = String.Empty;
+ float version = 0f;
Vector3 newpos = Vector3.Zero;
string failureReason = String.Empty;
OpenSim.Services.Interfaces.GridRegion destination = null;
--
cgit v1.1
From ea56f4f27c6e707b54e0e29d2477ef3af2a8c732 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Sat, 31 Oct 2015 18:13:02 +0100
Subject: Introduce an EntityTransferContext carrying the version numbers to
pass to all interested functions. Should fix the varregion conditional. Still
a testing version, do NOT use in production!
---
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
(limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 3b13e64..d08237e 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -41,6 +41,7 @@ using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.PhysicsModules.SharedBase;
using OpenSim.Region.Framework.Scenes.Serialization;
using PermissionMask = OpenSim.Framework.PermissionMask;
+using OpenSim.Services.Interfaces;
namespace OpenSim.Region.Framework.Scenes
{
@@ -476,7 +477,7 @@ namespace OpenSim.Region.Framework.Scenes
)
{
IEntityTransferModule entityTransfer = m_scene.RequestModuleInterface();
- float version = 0f;
+ EntityTransferContext ctx = new EntityTransferContext();
Vector3 newpos = Vector3.Zero;
string failureReason = String.Empty;
OpenSim.Services.Interfaces.GridRegion destination = null;
@@ -496,7 +497,7 @@ namespace OpenSim.Region.Framework.Scenes
// We set the avatar position as being the object
// position to get the region to send to
- if ((destination = entityTransfer.GetDestination(m_scene, av.UUID, val, out version, out newpos, out failureReason)) == null)
+ if ((destination = entityTransfer.GetDestination(m_scene, av.UUID, val, ctx, out newpos, out failureReason)) == null)
{
canCross = false;
break;
@@ -557,14 +558,14 @@ namespace OpenSim.Region.Framework.Scenes
// threads rather than any replace threadpool that we might be using.
if (Util.FireAndForgetMethod == FireAndForgetMethod.RegressionTest)
{
- entityTransfer.CrossAgentToNewRegionAsync(av, val, destination, av.Flying, version);
+ entityTransfer.CrossAgentToNewRegionAsync(av, val, destination, av.Flying, ctx);
CrossAgentToNewRegionCompleted(av);
}
else
{
CrossAgentToNewRegionDelegate d = entityTransfer.CrossAgentToNewRegionAsync;
d.BeginInvoke(
- av, val, destination, av.Flying, version,
+ av, val, destination, av.Flying, ctx,
ar => CrossAgentToNewRegionCompleted(d.EndInvoke(ar)), null);
}
}
--
cgit v1.1