From 764182075bf506d76deeb90d5335f527a872a791 Mon Sep 17 00:00:00 2001 From: Takashi Sawanaka Date: Thu, 13 May 2021 09:05:30 +0900 Subject: [PATCH] Fix osdn.net #42219: Reset the cache for the Automatic/Manual Unpacking/Prediffer settings to take effect before re-comparing folders --- Src/DirDoc.cpp | 3 +++ Src/PluginManager.h | 1 + 2 files changed, 4 insertions(+) diff --git a/Src/DirDoc.cpp b/Src/DirDoc.cpp index 70cd193d8..5092f40c2 100644 --- a/Src/DirDoc.cpp +++ b/Src/DirDoc.cpp @@ -254,6 +254,9 @@ void CDirDoc::InitDiffContext(CDiffContext *pCtxt) theApp.m_pGlobalFileFilter->ReloadUpdatedFilters(); pCtxt->m_piFilterGlobal = theApp.m_pGlobalFileFilter.get(); + //Reset the cache for the Automatic/Manual Unpacking/Prediffer settings to take effect + m_pluginman.Reset(); + // All plugin management is done by our plugin manager pCtxt->m_piPluginInfos = GetOptionsMgr()->GetBool(OPT_PLUGINS_ENABLED) ? &m_pluginman : nullptr; } diff --git a/Src/PluginManager.h b/Src/PluginManager.h index 5929c018f..6f5d47427 100644 --- a/Src/PluginManager.h +++ b/Src/PluginManager.h @@ -29,6 +29,7 @@ public: typedef std::map PluginFileInfoMap; ~PluginManager(); + void Reset() { m_pluginSettings.clear(); }; void SetPrediffSetting(const String& filteredFilenames, PLUGIN_MODE newsetting); void SetPrediffSettingAll(PLUGIN_MODE newsetting); void SetPrediffer(const String& filteredFilenames, const String& prediffer); -- 2.11.0