diff options
author | wiso <wiso@svn> | 2009-12-20 19:10:49 +0000 |
---|---|---|
committer | wiso <wiso@svn> | 2009-12-20 19:10:49 +0000 |
commit | efce89260ba6dce0460a014fbc6a5627bf20bde9 (patch) | |
tree | 6dd2304a3af9b908c8b97906aa38cd3c0c8ff54c | |
parent | 48c6fbf0fadc3d6fce9bd18f4df1c8265ccc514a (diff) |
[WIN32] changed: if BeginScene() fails try to call EndScene() as it might wasn't called due to an earlier exception. This could fail too on older cards because of a missing Present().
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@25887 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
-rw-r--r-- | xbmc/RenderSystemDX.cpp | 4 |
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; |