more changes relative to incorrect use of activegroupid

This commit is contained in:
UbitUmarov
2016-08-05 15:19:42 +01:00
parent ab7619292f
commit 23578635df
10 changed files with 95 additions and 48 deletions

View File

@@ -70,6 +70,7 @@ namespace OpenSim.Region.Framework.Interfaces
/// </remarks>
/// <param name="remoteClient"></param>
/// <param name="itemID"></param>
/// <param name="rezGroupID"></param>
/// <param name="RayEnd"></param>
/// <param name="RayStart"></param>
/// <param name="RayTargetID"></param>
@@ -80,6 +81,11 @@ namespace OpenSim.Region.Framework.Interfaces
/// <param name="fromTaskID"></param>
/// <param name="attachment"></param>
/// <returns>The SceneObjectGroup rezzed or null if rez was unsuccessful.</returns>
SceneObjectGroup RezObject(
IClientAPI remoteClient, UUID itemID, UUID rezGroupID, Vector3 RayEnd, Vector3 RayStart,
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment);
// compatibily do not use
SceneObjectGroup RezObject(
IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart,
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
@@ -97,6 +103,7 @@ namespace OpenSim.Region.Framework.Interfaces
/// The item from which the object asset came. Can be null, in which case pre and post rez item adjustment and checks are not performed.
/// </param>
/// <param name="assetID">The asset id for the object to rez.</param>
/// <param name="rezObjectID">The requested group id for the object to rez.</param>
/// <param name="RayEnd"></param>
/// <param name="RayStart"></param>
/// <param name="RayTargetID"></param>
@@ -107,8 +114,16 @@ namespace OpenSim.Region.Framework.Interfaces
/// <param name="fromTaskID"></param>
/// <param name="attachment"></param>
/// <returns>The SceneObjectGroup rezzed or null if rez was unsuccessful.</returns>
SceneObjectGroup RezObject(IClientAPI remoteClient, InventoryItemBase item, UUID rezGroupID,
UUID assetID, Vector3 RayEnd, Vector3 RayStart,
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment);
// compatibility do not use
SceneObjectGroup RezObject(
IClientAPI remoteClient, InventoryItemBase item, UUID assetID, Vector3 RayEnd, Vector3 RayStart,
IClientAPI remoteClient, InventoryItemBase item,
UUID assetID, Vector3 RayEnd, Vector3 RayStart,
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment);

View File

@@ -2454,6 +2454,7 @@ namespace OpenSim.Region.Framework.Scenes
/// </summary>
/// <param name="remoteClient"></param>
/// <param name="itemID"></param>
/// <param name="groupID"></param>
/// <param name="RayEnd"></param>
/// <param name="RayStart"></param>
/// <param name="RayTargetID"></param>
@@ -2464,7 +2465,8 @@ namespace OpenSim.Region.Framework.Scenes
/// <param name="RezSelected"></param>
/// <param name="RemoveItem"></param>
/// <param name="fromTaskID"></param>
public virtual void RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart,
public virtual void RezObject(IClientAPI remoteClient, UUID itemID, UUID groupID,
Vector3 RayEnd, Vector3 RayStart,
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
bool RezSelected, bool RemoveItem, UUID fromTaskID)
{
@@ -2504,8 +2506,7 @@ namespace OpenSim.Region.Framework.Scenes
byte bRayEndIsIntersection = (byte)(RayEndIsIntersection ? 1 : 0);
Vector3 scale = new Vector3(0.5f, 0.5f, 0.5f);
Vector3 pos
= GetNewRezLocation(
Vector3 pos = GetNewRezLocation(
RayStart, RayEnd, RayTargetID, Quaternion.Identity,
BypassRayCast, bRayEndIsIntersection, true, scale, false);

View File

@@ -3115,14 +3115,9 @@ namespace OpenSim.Region.Framework.Scenes
|| (aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaLogin) != 0;
CheckHeartbeat();
sp = GetScenePresence(client.AgentId);
// XXX: Not sure how good it is to add a new client if a scene presence already exists. Possibly this
// could occur if a viewer crashes and relogs before the old client is kicked out. But this could cause
// other problems, and possibly the code calling AddNewAgent() should ensure that no client is already
// connected.
if (sp == null)
{
m_log.DebugFormat(
@@ -3137,15 +3132,6 @@ namespace OpenSim.Region.Framework.Scenes
sp.TeleportFlags = (TPFlags)aCircuit.teleportFlags;
/* done in completMovement
InventoryFolderBase cof = InventoryService.GetFolderForType(client.AgentId, (AssetType)46);
if (cof == null)
sp.COF = UUID.Zero;
else
sp.COF = cof.ID;
m_log.DebugFormat("[SCENE]: COF for {0} is {1}", client.AgentId, sp.COF);
*/
m_eventManager.TriggerOnNewPresence(sp);
}
else

View File

@@ -171,7 +171,7 @@ namespace OpenSim.Region.Framework.Tests
//Assert.That((retrievedItem1.CurrentPermissions & (uint)OpenMetaverse.PermissionMask.All) == (uint)OpenMetaverse.PermissionMask.All);
// Rez the object
scene.RezObject(sp2.ControllingClient, retrievedItem1.ID, Vector3.Zero, Vector3.Zero, UUID.Zero, 0, false, false, false, UUID.Zero);
scene.RezObject(sp2.ControllingClient, retrievedItem1.ID, UUID.Zero, Vector3.Zero, Vector3.Zero, UUID.Zero, 0, false, false, false, UUID.Zero);
SceneObjectGroup sog = scene.GetSceneObjectGroup("SomeObject");
Assert.That(sog, Is.Not.Null);