aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xbmc/RenderSystemDX.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/xbmc/RenderSystemDX.cpp b/xbmc/RenderSystemDX.cpp
index e2a269d428..c31737e848 100644
--- a/xbmc/RenderSystemDX.cpp
+++ b/xbmc/RenderSystemDX.cpp
@@ -414,6 +414,10 @@ bool CRenderSystemDX::BeginRender()
if(FAILED (m_pD3DDevice->BeginScene()))
{
CLog::Log(LOGERROR, "m_pD3DDevice->BeginScene() failed");
+ // When XBMC caught an exception after BeginScene(), EndScene() may never been called
+ // and thus all following BeginScene() will fail too.
+ if(FAILED (m_pD3DDevice->EndScene()))
+ CLog::Log(LOGERROR, "m_pD3DDevice->EndScene() failed");
return false;
}
m_inScene = true;