void OnClientClosed(UUID clientID, Scene scene) { foreach (Scene s in m_Scenes) { if (s.TryGetScenePresence(clientID, out ScenePresence sp) && !sp.IsChildAgent && sp.ControllingClient != null && sp.ControllingClient.IsActive) { //m_log.DebugFormat("[HG INVENTORY CACHE]: OnClientClosed in {0}, but user {1} still in sim. Keeping inventoryURL in cache", // scene.RegionInfo.RegionName, clientID); return; } } m_InventoryURLs.TryRemove(clientID, out string dummy); m_Cache.RemoveAll(clientID); }
void OnClientClosed(UUID clientID, Scene scene) { ScenePresence sp = null; foreach (Scene s in m_Scenes) { s.TryGetScenePresence(clientID, out sp); if ((sp != null) && !sp.IsChildAgent && (s != scene)) { m_log.DebugFormat("[INVENTORY CACHE]: OnClientClosed in {0}, but user {1} still in sim. Keeping inventoryURL in cache", scene.RegionInfo.RegionName, clientID); return; } } if (m_InventoryURLs.ContainsKey(clientID)) // if it's in cache { DropInventoryServiceURL(clientID); } m_Cache.RemoveAll(clientID); }