diff options
author | Jonathan Marshall <jmarshall@never.you.mind> | 2011-06-30 18:30:03 +1200 |
---|---|---|
committer | Jonathan Marshall <jmarshall@never.you.mind> | 2011-06-30 18:31:19 +1200 |
commit | e250844673b6efa25292d537e8ed089538a98740 (patch) | |
tree | b18467b073023829b88030e152ec10bacaee3e92 | |
parent | 9e83fe4977b4d85279bc80b9c0597eae76876c27 (diff) |
ensure we run DoRender at the window level - else animations aren't correctly rendered in some circumstance. Fixes #11660
-rw-r--r-- | xbmc/guilib/GUIWindow.cpp | 4 | ||||
-rw-r--r-- | xbmc/guilib/GUIWindow.h | 4 | ||||
-rw-r--r-- | xbmc/guilib/GUIWindowManager.cpp | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/xbmc/guilib/GUIWindow.cpp b/xbmc/guilib/GUIWindow.cpp index acb0ad41f9..c43a378c4e 100644 --- a/xbmc/guilib/GUIWindow.cpp +++ b/xbmc/guilib/GUIWindow.cpp @@ -294,7 +294,7 @@ void CGUIWindow::DoProcess(unsigned int currentTime, CDirtyRegionList &dirtyregi CGUIControlGroup::DoProcess(currentTime, dirtyregions); } -void CGUIWindow::Render() +void CGUIWindow::DoRender() { // If we're rendering from a different thread, then we should wait for the main // app thread to finish AllocResources(), as dynamic resources (images in particular) @@ -305,7 +305,7 @@ void CGUIWindow::Render() g_graphicsContext.SetRenderingResolution(m_coordsRes, m_needsScaling); g_graphicsContext.ResetWindowTransform(); - CGUIControlGroup::Render(); + CGUIControlGroup::DoRender(); if (CGUIControlProfiler::IsRunning()) CGUIControlProfiler::Instance().EndFrame(); } diff --git a/xbmc/guilib/GUIWindow.h b/xbmc/guilib/GUIWindow.h index dd70759a8f..75367348db 100644 --- a/xbmc/guilib/GUIWindow.h +++ b/xbmc/guilib/GUIWindow.h @@ -90,11 +90,11 @@ public: /*! \brief Main render function, called every frame. Window classes should override this only if they need to alter how something is rendered. - General updating on a per-frame basis should be handled in FrameMove instead, as Render + General updating on a per-frame basis should be handled in FrameMove instead, as DoRender is not necessarily re-entrant. \sa FrameMove */ - virtual void Render(); + virtual void DoRender(); /*! \brief Main update function, called every frame prior to rendering Any window that requires updating on a frame by frame basis (such as to maintain diff --git a/xbmc/guilib/GUIWindowManager.cpp b/xbmc/guilib/GUIWindowManager.cpp index ec26c85ec5..694611dedc 100644 --- a/xbmc/guilib/GUIWindowManager.cpp +++ b/xbmc/guilib/GUIWindowManager.cpp @@ -525,7 +525,7 @@ void CGUIWindowManager::RenderPass() if (pWindow) { pWindow->ClearBackground(); - pWindow->Render(); + pWindow->DoRender(); } // we render the dialogs based on their render order. @@ -535,7 +535,7 @@ void CGUIWindowManager::RenderPass() for (iDialog it = renderList.begin(); it != renderList.end(); ++it) { if ((*it)->IsDialogRunning()) - (*it)->Render(); + (*it)->DoRender(); } } |