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>
 | 
			
		||||
        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;
 | 
			
		||||
 | 
			
		||||
        #region Region Module interface
 | 
			
		||||
| 
						 | 
				
			
			@ -81,9 +79,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
 | 
			
		|||
//            scene.RegisterModuleInterface<IInventoryTransferModule>(this);
 | 
			
		||||
 | 
			
		||||
            scene.EventManager.OnNewClient += OnNewClient;
 | 
			
		||||
//            scene.EventManager.OnClientClosed += ClientLoggedOut;
 | 
			
		||||
            scene.EventManager.OnIncomingInstantMessage += OnGridInstantMessage;
 | 
			
		||||
//            scene.EventManager.OnSetRootAgentScene += OnSetRootAgentScene;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        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_Enabled = false;
 | 
			
		||||
 | 
			
		||||
                    m_Scenelist.Clear();
 | 
			
		||||
                    scene.EventManager.OnNewClient -= OnNewClient;
 | 
			
		||||
//                    scene.EventManager.OnClientClosed -= ClientLoggedOut;
 | 
			
		||||
//                    m_Scenelist.Clear();
 | 
			
		||||
//                    scene.EventManager.OnNewClient -= OnNewClient;
 | 
			
		||||
                    scene.EventManager.OnIncomingInstantMessage -= OnGridInstantMessage;
 | 
			
		||||
//                    scene.EventManager.OnSetRootAgentScene -= OnSetRootAgentScene;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -108,9 +102,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
 | 
			
		|||
        public void RemoveRegion(Scene scene)
 | 
			
		||||
        {
 | 
			
		||||
            scene.EventManager.OnNewClient -= OnNewClient;
 | 
			
		||||
//            scene.EventManager.OnClientClosed -= ClientLoggedOut;
 | 
			
		||||
            scene.EventManager.OnIncomingInstantMessage -= OnGridInstantMessage;
 | 
			
		||||
//            scene.EventManager.OnSetRootAgentScene -= OnSetRootAgentScene;
 | 
			
		||||
            m_Scenelist.Remove(scene);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -139,11 +131,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
 | 
			
		|||
            // Inventory giving is conducted via instant message
 | 
			
		||||
            client.OnInstantMessage += OnInstantMessage;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
//        protected void OnSetRootAgentScene(UUID id, Scene scene)
 | 
			
		||||
//        {
 | 
			
		||||
//            m_AgentRegions[id] = scene;
 | 
			
		||||
//        }
 | 
			
		||||
 | 
			
		||||
        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>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -484,6 +484,18 @@ namespace OpenSim.Tests.Common.Mock
 | 
			
		|||
            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)
 | 
			
		||||
        {
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3055,6 +3055,7 @@
 | 
			
		|||
        <Match path="Avatar/AvatarFactory/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/Transfer/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="World/Archiver/Tests" pattern="*.cs" recurse="true"/>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue