From 0f95a827683a4b6d61fc0345f5f215f47fa31d3a Mon Sep 17 00:00:00 2001 From: Tino Reichardt Date: Mon, 1 Jun 2020 23:06:15 +0200 Subject: [PATCH] Fix #128 - format switching in archiv dialog makes options wrong --- CPP/7zip/UI/GUI/CompressDialog.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/CPP/7zip/UI/GUI/CompressDialog.cpp b/CPP/7zip/UI/GUI/CompressDialog.cpp index cc5a89d7..3cce4638 100644 --- a/CPP/7zip/UI/GUI/CompressDialog.cpp +++ b/CPP/7zip/UI/GUI/CompressDialog.cpp @@ -938,6 +938,7 @@ bool CCompressDialog::OnCommand(int code, int itemID, LPARAM lParam) m_Solid.ResetContent(); SetMethod(GetMethodID()); SetLevel(); + SetMethod(GetMethodID()); SetSolidBlockSize(); SetNumThreads(); SetParams(); @@ -945,19 +946,11 @@ bool CCompressDialog::OnCommand(int code, int itemID, LPARAM lParam) SetArchiveName2(isSFX); SetEncryptionMethod(); SetMemoryUsage(); - SetMethod(GetMethodID()); return true; } case IDC_COMPRESS_LEVEL: { - { - const CArcInfoEx &ai = (*ArcFormats)[GetFormatIndex()]; - int index = FindRegistryFormatAlways(ai.Name); - NCompression::CFormatOptions &fo = m_RegistryInfo.Formats[index]; - fo.ResetForLevelChange(); - } - SetSolidBlockSize(); SetNumThreads(); CheckSFXNameChange(); @@ -967,7 +960,13 @@ bool CCompressDialog::OnCommand(int code, int itemID, LPARAM lParam) case IDC_COMPRESS_METHOD: { - SetMethod(GetMethodID()); + { + const CArcInfoEx &ai = (*ArcFormats)[GetFormatIndex()]; + int index = FindRegistryFormatAlways(ai.Name); + NCompression::CFormatOptions &fo = m_RegistryInfo.Formats[index]; + fo.ResetForLevelChange(); + } + SetDictionary(); SetOrder(); SetSolidBlockSize();