From bf2f4f954c4b12362c47b1aa7d2c1c24187bb13b Mon Sep 17 00:00:00 2001 From: Shmuel Zeigerman Date: Fri, 12 Feb 2016 10:48:35 +0000 Subject: [PATCH] LuaFAR: fix handling PPIF_SELECTED. --- plugins/luamacro/_globalinfo.lua | 2 +- plugins/luamacro/changelog | 6 +++++- plugins/luamacro/luafar/exported.c | 12 ++++-------- plugins/luamacro/luamacro.rc | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/plugins/luamacro/_globalinfo.lua b/plugins/luamacro/_globalinfo.lua index 083595683e..8f6bc516dc 100644 --- a/plugins/luamacro/_globalinfo.lua +++ b/plugins/luamacro/_globalinfo.lua @@ -1,6 +1,6 @@ function export.GetGlobalInfo() return { - Version = { 1, 0, 0, 555 }, + Version = { 1, 0, 0, 556 }, MinFarVersion = { 3, 0, 0, 4450 }, Guid = win.Uuid("4EBBEFC8-2084-4B7F-94C0-692CE136894D"), Title = "LuaMacro", diff --git a/plugins/luamacro/changelog b/plugins/luamacro/changelog index fb43dd7eed..7c2170d522 100644 --- a/plugins/luamacro/changelog +++ b/plugins/luamacro/changelog @@ -1,4 +1,8 @@ -shmuel 08.02.2016 23:14:30 +0200 - build 555 +shmuel 12.02.2016 12:41:32 +0200 - build 556 + +1. LuaFAR: fix handling PPIF_SELECTED. + +shmuel 08.02.2016 23:14:30 +0200 - build 555 1. M#3175: "Отключить в LuaMacro редирект WOW64 для функций работы с реестром" LuaFAR: Во все функции работы с реестром, кроме win.DeleteRegKey, добавлен параметр "AccessMask". diff --git a/plugins/luamacro/luafar/exported.c b/plugins/luamacro/luafar/exported.c index 43502dd0ed..d087089e66 100644 --- a/plugins/luamacro/luafar/exported.c +++ b/plugins/luamacro/luafar/exported.c @@ -367,16 +367,12 @@ void UpdateFileSelection(lua_State* L, struct PluginPanelItem *PanelItem, { lua_getfield(L,-1,"Flags"); //+2 - if(lua_istable(L,-1)) + if(lua_toboolean(L,-1)) { - lua_getfield(L,-1,"selected"); //+3 - - if(lua_toboolean(L,-1)) - PanelItem[i].Flags |= PPIF_SELECTED; - else + int success = 0; + UINT64 Flags = GetFlagCombination(L,-1,&success); + if(success && ((Flags & PPIF_SELECTED) == 0)) PanelItem[i].Flags &= ~PPIF_SELECTED; - - lua_pop(L,1); //+2 } lua_pop(L,1); //+1 diff --git a/plugins/luamacro/luamacro.rc b/plugins/luamacro/luamacro.rc index 1536957e7f..d655033a33 100644 --- a/plugins/luamacro/luamacro.rc +++ b/plugins/luamacro/luamacro.rc @@ -1,6 +1,6 @@ #include -#define PLUGIN_BUILD 555 +#define PLUGIN_BUILD 556 #define PLUGIN_DESC "Lua Macros for Far Manager" #define PLUGIN_NAME "LuaMacro" #define PLUGIN_FILENAME "luamacro.dll"