aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Marshall <jmarshall@never.you.mind>2011-06-30 18:30:03 +1200
committerJonathan Marshall <jmarshall@never.you.mind>2011-06-30 18:31:19 +1200
commite250844673b6efa25292d537e8ed089538a98740 (patch)
treeb18467b073023829b88030e152ec10bacaee3e92
parent9e83fe4977b4d85279bc80b9c0597eae76876c27 (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.cpp4
-rw-r--r--xbmc/guilib/GUIWindow.h4
-rw-r--r--xbmc/guilib/GUIWindowManager.cpp4
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();
}
}