summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoDX9/Src/ShaderManager.cpp
diff options
context:
space:
mode:
authordonkopunchstania <donkopunchstania@gmail.com>2008-09-23 20:55:01 +0000
committerdonkopunchstania <donkopunchstania@gmail.com>2008-09-23 20:55:01 +0000
commit17cff80f2be8987b861e6acced055cb3b80581ff (patch)
tree734f437faf19286311b67908a191f2be73965ea6 /Source/Plugins/Plugin_VideoDX9/Src/ShaderManager.cpp
parentd8f816761306f07d169bb27b6363ae1f71355b1f (diff)
BIOS sets video mode from emulator configuration. Fixed iteration in DX VShaderCache::Cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@644 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Plugins/Plugin_VideoDX9/Src/ShaderManager.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoDX9/Src/ShaderManager.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/Plugins/Plugin_VideoDX9/Src/ShaderManager.cpp b/Source/Plugins/Plugin_VideoDX9/Src/ShaderManager.cpp
index c28128f11c..70e7936380 100644
--- a/Source/Plugins/Plugin_VideoDX9/Src/ShaderManager.cpp
+++ b/Source/Plugins/Plugin_VideoDX9/Src/ShaderManager.cpp
@@ -200,7 +200,7 @@ void VShaderCache::SetShader()
void VShaderCache::Cleanup()
{
- for (VSCache::iterator iter=vshaders.begin(); iter!=vshaders.end();iter++)
+ for (VSCache::iterator iter=vshaders.begin(); iter!=vshaders.end();)
{
VSCacheEntry &entry = iter->second;
if (entry.frameCount < frameCount - 30)
@@ -208,6 +208,10 @@ void VShaderCache::Cleanup()
entry.Destroy();
iter = vshaders.erase(iter);
}
+ else
+ {
+ ++iter;
+ }
}
SETSTAT(stats.numVertexShadersAlive, (int)vshaders.size());
}