Add regression test for offer, accept and subsequent receiver delete of an item offered via instant message.
parent
12054aaa9f
commit
a7cbb9edc9
|
@ -47,10 +47,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
private List<Scene> m_Scenelist = new List<Scene>();
|
private List<Scene> m_Scenelist = new List<Scene>();
|
||||||
// private Dictionary<UUID, Scene> m_AgentRegions =
|
|
||||||
// new Dictionary<UUID, Scene>();
|
|
||||||
|
|
||||||
private IMessageTransferModule m_TransferModule = null;
|
private IMessageTransferModule m_TransferModule;
|
||||||
private bool m_Enabled = true;
|
private bool m_Enabled = true;
|
||||||
|
|
||||||
#region Region Module interface
|
#region Region Module interface
|
||||||
|
@ -81,9 +79,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||||
// scene.RegisterModuleInterface<IInventoryTransferModule>(this);
|
// scene.RegisterModuleInterface<IInventoryTransferModule>(this);
|
||||||
|
|
||||||
scene.EventManager.OnNewClient += OnNewClient;
|
scene.EventManager.OnNewClient += OnNewClient;
|
||||||
// scene.EventManager.OnClientClosed += ClientLoggedOut;
|
|
||||||
scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage;
|
scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage;
|
||||||
// scene.EventManager.OnSetRootAgentScene += OnSetRootAgentScene;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RegionLoaded(Scene scene)
|
public void RegionLoaded(Scene scene)
|
||||||
|
@ -96,11 +92,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||||
m_log.Error("[INVENTORY TRANSFER]: No Message transfer module found, transfers will be local only");
|
m_log.Error("[INVENTORY TRANSFER]: No Message transfer module found, transfers will be local only");
|
||||||
m_Enabled = false;
|
m_Enabled = false;
|
||||||
|
|
||||||
m_Scenelist.Clear();
|
// m_Scenelist.Clear();
|
||||||
scene.EventManager.OnNewClient -= OnNewClient;
|
// scene.EventManager.OnNewClient -= OnNewClient;
|
||||||
// scene.EventManager.OnClientClosed -= ClientLoggedOut;
|
|
||||||
scene.EventManager.OnIncomingInstantMessage -= OnGridInstantMessage;
|
scene.EventManager.OnIncomingInstantMessage -= OnGridInstantMessage;
|
||||||
// scene.EventManager.OnSetRootAgentScene -= OnSetRootAgentScene;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -108,9 +102,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||||
public void RemoveRegion(Scene scene)
|
public void RemoveRegion(Scene scene)
|
||||||
{
|
{
|
||||||
scene.EventManager.OnNewClient -= OnNewClient;
|
scene.EventManager.OnNewClient -= OnNewClient;
|
||||||
// scene.EventManager.OnClientClosed -= ClientLoggedOut;
|
|
||||||
scene.EventManager.OnIncomingInstantMessage -= OnGridInstantMessage;
|
scene.EventManager.OnIncomingInstantMessage -= OnGridInstantMessage;
|
||||||
// scene.EventManager.OnSetRootAgentScene -= OnSetRootAgentScene;
|
|
||||||
m_Scenelist.Remove(scene);
|
m_Scenelist.Remove(scene);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,11 +131,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||||
// Inventory giving is conducted via instant message
|
// Inventory giving is conducted via instant message
|
||||||
client.OnInstantMessage += OnInstantMessage;
|
client.OnInstantMessage += OnInstantMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
// protected void OnSetRootAgentScene(UUID id, Scene scene)
|
|
||||||
// {
|
|
||||||
// m_AgentRegions[id] = scene;
|
|
||||||
// }
|
|
||||||
|
|
||||||
private Scene FindClientScene(UUID agentId)
|
private Scene FindClientScene(UUID agentId)
|
||||||
{
|
{
|
||||||
|
@ -460,70 +447,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// public bool NeedSceneCacheClear(UUID agentID, Scene scene)
|
|
||||||
// {
|
|
||||||
// if (!m_AgentRegions.ContainsKey(agentID))
|
|
||||||
// {
|
|
||||||
// // Since we can get here two ways, we need to scan
|
|
||||||
// // the scenes here. This is somewhat more expensive
|
|
||||||
// // but helps avoid a nasty bug
|
|
||||||
// //
|
|
||||||
//
|
|
||||||
// foreach (Scene s in m_Scenelist)
|
|
||||||
// {
|
|
||||||
// ScenePresence presence;
|
|
||||||
//
|
|
||||||
// if (s.TryGetScenePresence(agentID, out presence))
|
|
||||||
// {
|
|
||||||
// // If the agent is in this scene, then we
|
|
||||||
// // are being called twice in a single
|
|
||||||
// // teleport. This is wasteful of cycles
|
|
||||||
// // but harmless due to this 2nd level check
|
|
||||||
// //
|
|
||||||
// // If the agent is found in another scene
|
|
||||||
// // then the list wasn't current
|
|
||||||
// //
|
|
||||||
// // If the agent is totally unknown, then what
|
|
||||||
// // are we even doing here??
|
|
||||||
// //
|
|
||||||
// if (s == scene)
|
|
||||||
// {
|
|
||||||
// //m_log.Debug("[INVTRANSFERMOD]: s == scene. Returning true in " + scene.RegionInfo.RegionName);
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// //m_log.Debug("[INVTRANSFERMOD]: s != scene. Returning false in " + scene.RegionInfo.RegionName);
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// //m_log.Debug("[INVTRANSFERMOD]: agent not in scene. Returning true in " + scene.RegionInfo.RegionName);
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // The agent is left in current Scene, so we must be
|
|
||||||
// // going to another instance
|
|
||||||
// //
|
|
||||||
// if (m_AgentRegions[agentID] == scene)
|
|
||||||
// {
|
|
||||||
// //m_log.Debug("[INVTRANSFERMOD]: m_AgentRegions[agentID] == scene. Returning true in " + scene.RegionInfo.RegionName);
|
|
||||||
// m_AgentRegions.Remove(agentID);
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// // Another region has claimed the agent
|
|
||||||
// //
|
|
||||||
// //m_log.Debug("[INVTRANSFERMOD]: last resort. Returning false in " + scene.RegionInfo.RegionName);
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void ClientLoggedOut(UUID agentID, Scene scene)
|
|
||||||
// {
|
|
||||||
// if (m_AgentRegions.ContainsKey(agentID))
|
|
||||||
// m_AgentRegions.Remove(agentID);
|
|
||||||
// }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -484,6 +484,18 @@ namespace OpenSim.Tests.Common.Mock
|
||||||
OnCompleteMovementToRegion(this, true);
|
OnCompleteMovementToRegion(this, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Emulate sending an IM from the viewer to the simulator.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name='im'></param>
|
||||||
|
public void HandleImprovedInstantMessage(GridInstantMessage im)
|
||||||
|
{
|
||||||
|
ImprovedInstantMessage handlerInstantMessage = OnInstantMessage;
|
||||||
|
|
||||||
|
if (handlerInstantMessage != null)
|
||||||
|
handlerInstantMessage(this, im);
|
||||||
|
}
|
||||||
|
|
||||||
public virtual void ActivateGesture(UUID assetId, UUID gestureId)
|
public virtual void ActivateGesture(UUID assetId, UUID gestureId)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -3055,6 +3055,7 @@
|
||||||
<Match path="Avatar/AvatarFactory/Tests" pattern="*.cs" recurse="true"/>
|
<Match path="Avatar/AvatarFactory/Tests" pattern="*.cs" recurse="true"/>
|
||||||
<Match path="Avatar/Friends/Tests" pattern="*.cs" recurse="true"/>
|
<Match path="Avatar/Friends/Tests" pattern="*.cs" recurse="true"/>
|
||||||
<Match path="Avatar/Inventory/Archiver/Tests" pattern="*.cs" recurse="true"/>
|
<Match path="Avatar/Inventory/Archiver/Tests" pattern="*.cs" recurse="true"/>
|
||||||
|
<Match path="Avatar/Inventory/Transfer/Tests" pattern="*.cs" recurse="true"/>
|
||||||
<Match path="Framework/InventoryAccess/Tests" pattern="*.cs" recurse="true"/>
|
<Match path="Framework/InventoryAccess/Tests" pattern="*.cs" recurse="true"/>
|
||||||
<Match path="Scripting/VectorRender/Tests" pattern="*.cs" recurse="true"/>
|
<Match path="Scripting/VectorRender/Tests" pattern="*.cs" recurse="true"/>
|
||||||
<Match path="World/Archiver/Tests" pattern="*.cs" recurse="true"/>
|
<Match path="World/Archiver/Tests" pattern="*.cs" recurse="true"/>
|
||||||
|
|
Loading…
Reference in New Issue