From f82e5eb673726d319a8411dc97199823eea5a8f6 Mon Sep 17 00:00:00 2001 From: hrydgard Date: Sat, 17 Oct 2009 09:09:52 +0000 Subject: [PATCH] fix duplicate entries in lists when opening d3d config multiple times. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4433 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp b/Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp index 069784726f..ad86b3518a 100644 --- a/Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp +++ b/Source/Plugins/Plugin_VideoDX9/Src/D3DBase.cpp @@ -112,7 +112,7 @@ void InitPP(int adapter, int f, int aa_mode, D3DPRESENT_PARAMETERS *pp) pp->MultiSampleType = adapters[adapter].aa_levels[aa_mode].ms_setting; pp->MultiSampleQuality = adapters[adapter].aa_levels[aa_mode].qual_setting; - + pp->Flags = auto_depth_stencil ? D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL : 0; if (fullScreen) { @@ -136,9 +136,12 @@ void InitPP(int adapter, int f, int aa_mode, D3DPRESENT_PARAMETERS *pp) void Enumerate() { numAdapters = D3D::D3D->GetAdapterCount(); + for (int i = 0; i < std::min(MAX_ADAPTERS, numAdapters); i++) { Adapter &a = adapters[i]; + a.aa_levels.clear(); + a.resolutions.clear(); D3D::D3D->GetAdapterIdentifier(i, 0, &a.ident); bool isNvidia = a.ident.VendorId == VENDOR_NVIDIA;