From d28dee1a29459b0e4c498927b04f1aeb6d66736c Mon Sep 17 00:00:00 2001 From: Vladimir Surguchev Date: Tue, 9 Feb 2016 16:14:10 +0000 Subject: [PATCH] =?UTF-8?q?226=20--=20=D0=A1=20=D1=84=D0=BE=D1=80=D1=83?= =?UTF-8?q?=D0=BC=D0=B0:=20=D0=92=D1=8B=D0=B4=D0=B5=D0=BB=D0=B8=D0=BC=20?= =?UTF-8?q?=D0=BD=D0=B5=D1=81=D0=BA=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=B0?= =?UTF-8?q?=D1=80=D1=85=D0=B8=D0=B2=D0=BE=D0=B2,=20=D0=BD=D0=B0=D0=B6?= =?UTF-8?q?=D0=BC=D1=91=D0=BC=20ShiftF3.=20=D0=92=D1=8B=D0=B4=D0=B0=D1=91?= =?UTF-8?q?=D1=82=20"Archive=20test=20complete".=20=D0=92=D1=8B=D0=B4?= =?UTF-8?q?=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=B5=20=D1=81?= =?UTF-8?q?=D0=B1=D1=80=D0=B0=D1=81=D1=8B=D0=B2=D0=B0=D0=B5=D1=82=D1=81?= =?UTF-8?q?=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/arclite/changelog | 5 +++++ plugins/arclite/plugin.cpp | 13 +++++++++---- plugins/arclite/project.ini | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) 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