[FarGroup/FarManager] master: Reduce highlight menu flickering (87529fad9)

1 view
Skip to first unread message

farg...@farmanager.com

unread,
Jan 21, 2026, 5:01:28 PMJan 21
to farco...@googlegroups.com
Repository : https://github.com/FarGroup/FarManager
On branch : master
Link : https://github.com/FarGroup/FarManager/commit/87529fad9687d299cfe8c76d1149582f2af8f8d4

>---------------------------------------------------------------

commit 87529fad9687d299cfe8c76d1149582f2af8f8d4
Author: Alex Alabuzhev <alab...@gmail.com>
Date: Wed Jan 21 21:58:04 2026 +0000

Reduce highlight menu flickering


>---------------------------------------------------------------

87529fad9687d299cfe8c76d1149582f2af8f8d4
far/hilight.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/far/hilight.cpp b/far/hilight.cpp
index c028c4ed0..fa71eb705 100644
--- a/far/hilight.cpp
+++ b/far/hilight.cpp
@@ -515,6 +515,8 @@ int highlight::configuration::GetGroup(const FileListItem& Object, const FileLis

void highlight::configuration::FillMenu(VMenu2 *HiMenu,int MenuPos) const
{
+ SCOPED_ACTION(Dialog::suppress_redraw)(HiMenu);
+
HiMenu->clear();

const struct
@@ -693,7 +695,6 @@ void highlight::configuration::HiEdit(int MenuPos)
{
const auto Key=RawKey();
auto SelectPos = HiMenu->GetSelectPos();
- NeedUpdate = false;

int KeyProcessed = 1;

@@ -762,6 +763,8 @@ void highlight::configuration::HiEdit(int MenuPos)

if (Count && RealSelectPos < static_cast<int>(HiData.size()) && FileFilterConfig(HiData[RealSelectPos], true))
{
+ SCOPED_ACTION(Dialog::suppress_redraw)(HiMenu.get());
+
HiMenu->DeleteItem(SelectPos);
HiMenu->AddItem(menu_item_ex{ MenuString(&HiData[RealSelectPos], true) }, SelectPos);
HiMenu->SetSelectPos(SelectPos, 1);
@@ -894,6 +897,8 @@ void highlight::configuration::HiEdit(int MenuPos)

if (Global->Opt->AutoSaveSetup)
Save(false);
+
+ NeedUpdate = false;
}
return KeyProcessed;
});


Reply all
Reply to author
Forward
0 new messages