From 1205f01700c809fab4ed37778da905fc0a49174d Mon Sep 17 00:00:00 2001 From: "gregory.hainaut@gmail.com" Date: Sat, 29 Jan 2011 19:48:44 +0000 Subject: [PATCH] pcsx2 gui: do not call swap iso when isofile did not change. Note: the code avoids some locking which turn into deadlock with GSOpen1 plugins. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4273 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/gui/RecentIsoList.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pcsx2/gui/RecentIsoList.cpp b/pcsx2/gui/RecentIsoList.cpp index be83503376..7e3a50aae5 100644 --- a/pcsx2/gui/RecentIsoList.cpp +++ b/pcsx2/gui/RecentIsoList.cpp @@ -61,6 +61,16 @@ void RecentIsoManager::OnChangedSelection( wxCommandEvent& evt ) return; } + // Actually there is no change on the selection so the event can be skip + // Note: It also avoids a deadlock which appears when the core thread is already paused + // and ScopedCoreThreadPopup try to stop the thread (GSOpen1 code path) + if( (g_Conf->CdvdSource == CDVDsrc_Iso) && (m_Items[i].Filename == g_Conf->CurrentIso) ) + { + evt.Skip(); + return; + } + + m_cursel = i; ScopedCoreThreadPopup stopped_core;