void CGUIWindowManager::FrameMove() { assert(g_application.IsCurrentThread()); CSingleLock lock(g_graphicsContext); if(m_iNested == 0) { // delete any windows queued for deletion for(iDialog it = m_deleteWindows.begin(); it != m_deleteWindows.end(); it++) { // Free any window resources (*it)->FreeResources(true); delete *it; } m_deleteWindows.clear(); } CGUIWindow* pWindow = GetWindow(GetActiveWindow()); if (pWindow) pWindow->FrameMove(); // update any dialogs - we take a copy of the vector as some dialogs may close themselves // during this call vector<CGUIWindow *> dialogs = m_activeDialogs; for (iDialog it = dialogs.begin(); it != dialogs.end(); ++it) (*it)->FrameMove(); }
void CGUIWindowManager::FrameMove() { assert(g_application.IsCurrentThread()); CSingleLock lock(g_graphicsContext); if(m_iNested == 0) { // delete any windows queued for deletion for (const auto& window : m_deleteWindows) { // Free any window resources window->FreeResources(true); delete window; } m_deleteWindows.clear(); } CGUIWindow* pWindow = GetWindow(GetActiveWindow()); if (pWindow) pWindow->FrameMove(); // update any dialogs - we take a copy of the vector as some dialogs may close themselves // during this call auto dialogs = m_activeDialogs; for (const auto& window : dialogs) { window->FrameMove(); } g_infoManager.UpdateAVInfo(); }