void CGUIWindowManager::Process(unsigned int currentTime) { assert(g_application.IsCurrentThread()); CSingleLock lock(g_graphicsContext); CDirtyRegionList dirtyregions; CGUIWindow* pWindow = GetWindow(GetActiveWindow()); if (pWindow) pWindow->DoProcess(currentTime, dirtyregions); // process all dialogs - visibility may change etc. for (WindowMap::iterator it = m_mapWindows.begin(); it != m_mapWindows.end(); it++) { CGUIWindow *pWindow = (*it).second; if (pWindow && pWindow->IsDialog()) pWindow->DoProcess(currentTime, dirtyregions); } if (g_application.m_AppActive) { for (CDirtyRegionList::iterator itr = dirtyregions.begin(); itr != dirtyregions.end(); itr++) m_tracker.MarkDirtyRegion(*itr); } }