diff --git a/plugins/arclite/changelog b/plugins/arclite/changelog index 10df8532c6..9267cde11d 100644 --- a/plugins/arclite/changelog +++ b/plugins/arclite/changelog @@ -1,3 +1,8 @@ +w17 09.02.2016 19:09:18 +0300 - build 226 + +1. С форума: Выделим несколько архивов, нажмём ShiftF3. Выдаёт "Archive test complete". Выделение не сбрасывается. + Лечение симптоматическое. Как правильно должен отрабатываться ProcessHostFileW() для меня загадка. + w17 26.01.2016 12:50:13 +0300 - build 225 1. Fix 224. diff --git a/plugins/arclite/plugin.cpp b/plugins/arclite/plugin.cpp index c470f4ae86..2a363a0c56 100644 --- a/plugins/arclite/plugin.cpp +++ b/plugins/arclite/plugin.cpp @@ -394,9 +394,11 @@ class Plugin { indices.push_back(static_cast(reinterpret_cast(panel_items[i].UserData.Data))); } archive->test(src_dir_index, indices); - for (int i = 0; i < items_number; i++) { - panel_items[i].Flags &= ~PPIF_SELECTED; - } + if (op_mode == OPM_NONE) { + for (int i = 0; i < items_number; i++) { + panel_items[i].Flags &= ~PPIF_SELECTED; + } + } Far::info_dlg(c_test_ok_dialog_guid, Far::get_msg(MSG_PLUGIN_NAME), Far::get_msg(MSG_TEST_OK)); } @@ -1107,7 +1109,10 @@ intptr_t WINAPI ProcessHostFileW(const ProcessHostFileInfo* info) { intptr_t item = Far::menu(c_arccmd_menu_guid, Far::get_msg(MSG_PLUGIN_NAME), menu_items); if (item == 0) { reinterpret_cast(info->hPanel)->test_files(info->PanelItem, info->ItemsNumber, info->OpMode); - return FALSE; // to avoid setting modification flag (there is readonly test operation) + if (info->OpMode == OPM_NONE) + return FALSE; // to avoid setting modification flag (there is readonly test operation) + else + return TRUE; } else return FALSE; diff --git a/plugins/arclite/project.ini b/plugins/arclite/project.ini index 6c12b383cd..80af30888f 100644 --- a/plugins/arclite/project.ini +++ b/plugins/arclite/project.ini @@ -2,4 +2,4 @@ MODULE = arclite VER_MAJOR = 3 VER_MINOR = 0 -VER_BUILD = 225 +VER_BUILD = 226