reapply fix for double sending of attachment update on standalone region crossing
parent
50ddb20204
commit
693b5d0838
|
@ -260,7 +260,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Interregion
|
|||
{
|
||||
if (s.RegionInfo.RegionHandle == regionHandle)
|
||||
{
|
||||
m_log.Debug("[LOCAL COMMS]: Found region to SendCreateObject");
|
||||
// m_log.Debug("[LOCAL COMMS]: Found region to SendCreateObject");
|
||||
if (isLocalCall)
|
||||
{
|
||||
// We need to make a local copy of the object
|
||||
|
|
|
@ -2449,8 +2449,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
return;
|
||||
}
|
||||
|
||||
m_log.DebugFormat("[SCENE INVENTORY]: {0} {1} IsAttachment={2}", att.Name, att.LocalId, att.IsAttachment);
|
||||
Console.WriteLine("HERE X");
|
||||
// m_log.DebugFormat("[SCENE INVENTORY]: {0} {1} IsAttachment={2}", att.Name, att.LocalId, att.IsAttachment);
|
||||
// Console.WriteLine("HERE X");
|
||||
ScenePresence presence;
|
||||
if (TryGetAvatar(remoteClient.AgentId, out presence))
|
||||
{
|
||||
|
@ -2458,12 +2458,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId);
|
||||
item = InventoryService.GetItem(item);
|
||||
presence.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID /*att.UUID*/);
|
||||
Console.WriteLine("HERE Y");
|
||||
// Console.WriteLine("HERE Y");
|
||||
|
||||
if (m_AvatarFactory != null)
|
||||
m_AvatarFactory.UpdateDatabase(remoteClient.AgentId, presence.Appearance);
|
||||
|
||||
Console.WriteLine("HERE Z");
|
||||
// Console.WriteLine("HERE Z");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -124,7 +124,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
if (((SceneObjectGroup)ent).LocalId == primLocalID)
|
||||
{
|
||||
m_log.DebugFormat("[SCENE]: Received full update request for {0} from {1}", primLocalID, remoteClient.Name);
|
||||
// m_log.DebugFormat("[SCENE]: Received full update request for {0} from {1}", primLocalID, remoteClient.Name);
|
||||
((SceneObjectGroup)ent).SendFullUpdateToClient(remoteClient);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -2487,7 +2487,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// <returns></returns>
|
||||
public bool IncomingCreateObject(ISceneObject sog)
|
||||
{
|
||||
m_log.Debug(" >>> IncomingCreateObject(sog) <<< " + ((SceneObjectGroup)sog).AbsolutePosition + " deleted? " + ((SceneObjectGroup)sog).IsDeleted);
|
||||
// m_log.Debug(" >>> IncomingCreateObject(sog) <<< " + ((SceneObjectGroup)sog).AbsolutePosition + " deleted? " + ((SceneObjectGroup)sog).IsDeleted);
|
||||
SceneObjectGroup newObject;
|
||||
try
|
||||
{
|
||||
|
@ -2559,7 +2559,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
if (sceneObject.IsAttachmentCheckFull()) // Attachment
|
||||
{
|
||||
m_log.DebugFormat("[SCENE]: Adding attachment {0} {1}", sceneObject.Name, sceneObject.LocalId);
|
||||
// m_log.DebugFormat("[SCENE]: Adding attachment {0} {1}", sceneObject.Name, sceneObject.LocalId);
|
||||
|
||||
sceneObject.RootPart.AddFlag(PrimFlags.TemporaryOnRez);
|
||||
sceneObject.RootPart.AddFlag(PrimFlags.Phantom);
|
||||
|
@ -2572,7 +2572,7 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
// Fix up attachment Parent Local ID
|
||||
ScenePresence sp = GetScenePresence(sceneObject.OwnerID);
|
||||
|
||||
Console.WriteLine("AAAA");
|
||||
// Console.WriteLine("AAAA");
|
||||
|
||||
//uint parentLocalID = 0;
|
||||
if (sp != null)
|
||||
|
@ -2605,11 +2605,11 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
RootPrim.AddFlag(PrimFlags.TemporaryOnRez);
|
||||
}
|
||||
|
||||
Console.WriteLine("BBBB");
|
||||
// Console.WriteLine("BBBB");
|
||||
}
|
||||
else
|
||||
{
|
||||
m_log.DebugFormat("[SCENE]: Adding ordinary object {0} {1}", sceneObject.Name, sceneObject.LocalId);
|
||||
// m_log.DebugFormat("[SCENE]: Adding ordinary object {0} {1}", sceneObject.Name, sceneObject.LocalId);
|
||||
|
||||
AddRestoredSceneObject(sceneObject, true, false);
|
||||
|
||||
|
|
|
@ -1383,9 +1383,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
// now we have a child agent in this region. Request all interesting data about other (root) agents
|
||||
agent.SendInitialFullUpdateToAllClients();
|
||||
|
||||
Console.WriteLine("SCS 1");
|
||||
// Console.WriteLine("SCS 1");
|
||||
agent.CrossAttachmentsIntoNewRegion(neighbourHandle, true);
|
||||
Console.WriteLine("SCS 2");
|
||||
// Console.WriteLine("SCS 2");
|
||||
|
||||
// m_scene.SendKillObject(m_localId);
|
||||
|
||||
|
|
|
@ -636,13 +636,13 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
protected internal bool AttachObject(
|
||||
IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, Quaternion rot, Vector3 attachPos, bool silent)
|
||||
{
|
||||
Console.WriteLine("HERE A");
|
||||
// Console.WriteLine("HERE A");
|
||||
SceneObjectGroup group = GetGroupByPrim(objectLocalID);
|
||||
if (group != null)
|
||||
{
|
||||
if (m_parentScene.Permissions.CanTakeObject(group.UUID, remoteClient.AgentId))
|
||||
{
|
||||
Console.WriteLine("HERE -1");
|
||||
// Console.WriteLine("HERE -1");
|
||||
// If the attachment point isn't the same as the one previously used
|
||||
// set it's offset position = 0 so that it appears on the attachment point
|
||||
// and not in a weird location somewhere unknown.
|
||||
|
@ -681,12 +681,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
itemId = group.GetFromItemID();
|
||||
}
|
||||
|
||||
Console.WriteLine("HERE 0");
|
||||
// Console.WriteLine("HERE 0");
|
||||
m_parentScene.AttachObject(remoteClient, AttachmentPt, itemId, group);
|
||||
|
||||
Console.WriteLine("HERE 1");
|
||||
// Console.WriteLine("HERE 1");
|
||||
group.AttachToAgent(remoteClient.AgentId, AttachmentPt, attachPos, silent);
|
||||
Console.WriteLine("HERE 2");
|
||||
// Console.WriteLine("HERE 2");
|
||||
// In case it is later dropped again, don't let
|
||||
// it get cleaned up
|
||||
//
|
||||
|
|
|
@ -1494,9 +1494,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
public void SendFullUpdateToClient(IClientAPI remoteClient)
|
||||
{
|
||||
if (IsAttachment)
|
||||
m_log.DebugFormat(
|
||||
"[SOG]: Sending full update to client {0} for {1} {2}", remoteClient.Name, Name, LocalId);
|
||||
// if (IsAttachment)
|
||||
// m_log.DebugFormat(
|
||||
// "[SOG]: Sending full update to client {0} for {1} {2}", remoteClient.Name, Name, LocalId);
|
||||
|
||||
SendPartFullUpdate(remoteClient, RootPart, m_scene.Permissions.GenerateClientFlags(remoteClient.AgentId, RootPart.UUID));
|
||||
|
||||
|
@ -1517,9 +1517,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// <param name="part"></param>
|
||||
internal void SendPartFullUpdate(IClientAPI remoteClient, SceneObjectPart part, uint clientFlags)
|
||||
{
|
||||
if (IsAttachment)
|
||||
m_log.DebugFormat(
|
||||
"[SOG]: Sending part full update to {0} for {1} {2}", remoteClient.Name, part.Name, part.LocalId);
|
||||
// if (IsAttachment)
|
||||
// m_log.DebugFormat(
|
||||
// "[SOG]: Sending part full update to {0} for {1} {2}", remoteClient.Name, part.Name, part.LocalId);
|
||||
|
||||
if (m_rootPart.UUID == part.UUID)
|
||||
{
|
||||
|
@ -1999,8 +1999,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
public void ScheduleFullUpdateToAvatar(ScenePresence presence)
|
||||
{
|
||||
if (IsAttachment)
|
||||
m_log.DebugFormat("[SOG]: Scheduling full update for {0} {1} just to avatar {2}", Name, UUID, presence.Name);
|
||||
// if (IsAttachment)
|
||||
// m_log.DebugFormat("[SOG]: Scheduling full update for {0} {1} just to avatar {2}", Name, UUID, presence.Name);
|
||||
|
||||
RootPart.AddFullUpdateToAvatar(presence);
|
||||
|
||||
|
@ -2032,8 +2032,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// </summary>
|
||||
public void ScheduleGroupForFullUpdate()
|
||||
{
|
||||
if (IsAttachment)
|
||||
m_log.DebugFormat("[SOG]: Scheduling full update for {0} {1}", Name, UUID);
|
||||
// if (IsAttachment)
|
||||
// m_log.DebugFormat("[SOG]: Scheduling full update for {0} {1}", Name, UUID);
|
||||
|
||||
checkAtTargets();
|
||||
RootPart.ScheduleFullUpdate();
|
||||
|
|
|
@ -1267,8 +1267,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
public void AddFullUpdateToAvatar(ScenePresence presence)
|
||||
{
|
||||
if (IsAttachment)
|
||||
m_log.DebugFormat("AddFullUpdateToAllAvatar() {0} for {1} {2}", presence.Name, Name, LocalId);
|
||||
// if (IsAttachment)
|
||||
// m_log.DebugFormat("AddFullUpdateToAllAvatar() {0} for {1} {2}", presence.Name, Name, LocalId);
|
||||
|
||||
presence.SceneViewer.QueuePartForUpdate(this);
|
||||
}
|
||||
|
@ -1293,8 +1293,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
public void AddTerseUpdateToAvatar(ScenePresence presence)
|
||||
{
|
||||
if (IsAttachment)
|
||||
m_log.DebugFormat("AddTerseUpdateToAvatar() {0} for {1} {2}", presence.Name, Name, LocalId);
|
||||
// if (IsAttachment)
|
||||
// m_log.DebugFormat("AddTerseUpdateToAvatar() {0} for {1} {2}", presence.Name, Name, LocalId);
|
||||
|
||||
presence.SceneViewer.QueuePartForUpdate(this);
|
||||
}
|
||||
|
@ -2729,8 +2729,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// </summary>
|
||||
public void ScheduleFullUpdate()
|
||||
{
|
||||
if (IsAttachment)
|
||||
m_log.DebugFormat("[SOP]: Scheduling full update for {0} {1}", Name, LocalId);
|
||||
// if (IsAttachment)
|
||||
// m_log.DebugFormat("[SOP]: Scheduling full update for {0} {1}", Name, LocalId);
|
||||
|
||||
if (m_parentGroup != null)
|
||||
{
|
||||
|
@ -2843,9 +2843,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// <param name="remoteClient"></param>
|
||||
public void SendFullUpdate(IClientAPI remoteClient, uint clientFlags)
|
||||
{
|
||||
if (IsAttachment)
|
||||
m_log.DebugFormat(
|
||||
"[SCENE OBJECT PART]: Sending part full update to {0} for {1} {2}", remoteClient.Name, Name, LocalId);
|
||||
// if (IsAttachment)
|
||||
// m_log.DebugFormat(
|
||||
// "[SCENE OBJECT PART]: Sending part full update to {0} for {1} {2}", remoteClient.Name, Name, LocalId);
|
||||
|
||||
m_parentGroup.SendPartFullUpdate(remoteClient, this, clientFlags);
|
||||
}
|
||||
|
@ -2855,9 +2855,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// </summary>
|
||||
public void SendFullUpdateToAllClients()
|
||||
{
|
||||
if (IsAttachment)
|
||||
m_log.DebugFormat(
|
||||
"[SCENE OBJECT PART]: Sending full update for {0} {1} for all clients", Name, LocalId);
|
||||
// if (IsAttachment)
|
||||
// m_log.DebugFormat(
|
||||
// "[SCENE OBJECT PART]: Sending full update for {0} {1} for all clients", Name, LocalId);
|
||||
|
||||
ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences();
|
||||
for (int i = 0; i < avatars.Length; i++)
|
||||
|
@ -2870,9 +2870,9 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
|
||||
public void SendFullUpdateToAllClientsExcept(UUID agentID)
|
||||
{
|
||||
if (IsAttachment)
|
||||
m_log.DebugFormat(
|
||||
"[SCENE OBJECT PART]: Sending full update for {0} {1} to all clients except {2}", Name, LocalId, agentID);
|
||||
// if (IsAttachment)
|
||||
// m_log.DebugFormat(
|
||||
// "[SCENE OBJECT PART]: Sending full update for {0} {1} to all clients except {2}", Name, LocalId, agentID);
|
||||
|
||||
ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences();
|
||||
for (int i = 0; i < avatars.Length; i++)
|
||||
|
@ -2980,8 +2980,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
if (m_updateFlag == 2) // is a new prim, just created/reloaded or has major changes
|
||||
{
|
||||
if (IsAttachment)
|
||||
m_log.DebugFormat("[SOP]: Sending scheduled full update for {0} {1}", Name, LocalId);
|
||||
// if (IsAttachment)
|
||||
// m_log.DebugFormat("[SOP]: Sending scheduled full update for {0} {1}", Name, LocalId);
|
||||
|
||||
AddFullUpdateToAllAvatars();
|
||||
ClearUpdateSchedule();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/*
|
||||
/*
|
||||
* Copyright (c) Contributors, http://opensimulator.org/
|
||||
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||
*
|
||||
|
@ -63,8 +63,8 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
/// <param name="part"></param>
|
||||
public void QueuePartForUpdate(SceneObjectPart part)
|
||||
{
|
||||
if (part.IsAttachment)
|
||||
m_log.DebugFormat("[SCENE VIEWER]: Queueing part {0} {1} for update", part.Name, part.LocalId);
|
||||
// if (part.IsAttachment)
|
||||
// m_log.DebugFormat("[SCENE VIEWER]: Queueing part {0} {1} for update", part.Name, part.LocalId);
|
||||
|
||||
lock (m_partsUpdateQueue)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue