From 876bb8531401ee59eff155f645c70ebfc660eafc Mon Sep 17 00:00:00 2001 From: Vadim Yegorov Date: Wed, 1 Jun 2016 22:52:49 +0000 Subject: [PATCH] =?UTF-8?q?1.=20=D1=81=20=D1=84=D0=BE=D1=80=D1=83=D0=BC?= =?UTF-8?q?=D0=B0:=20=D0=95=D1=81=D0=BB=D0=B8=20=D0=B2=20=D0=B4=D0=B8?= =?UTF-8?q?=D0=B0=D0=BB=D0=BE=D0=B3=D0=B5=20=D0=BD=D0=B0=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D1=8B=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BC=D0=B0=D0=BA=D1=80=D0=BE=D1=81=20(=D0=BD=D0=B0?= =?UTF-8?q?=D0=B6=D0=B0=D1=82=D1=8C=20Ctrl.),=20=D1=82=D0=BE=20=D0=B8?= =?UTF-8?q?=D0=BD=D0=B4=D0=B8=D0=BA=D0=B0=D1=82=D0=BE=D1=80=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BF=D0=B8=D1=81=D0=B8=20=D0=BC=D0=B0=D0=BA=D1=80=D0=BE=D1=81?= =?UTF-8?q?=D0=B0=20=D1=81=D1=80=D0=B0=D0=B7=D1=83=20=D0=BD=D0=B5=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=8F=D0=B2=D0=BB=D1=8F=D0=B5=D1=82=D1=81=D1=8F,=20=20?= =?UTF-8?q?=20=20=D0=B0=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=81=D0=BB=D0=B5=20=D0=BD=D0=B0=D0=B6=D0=B0=D1=82=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B4=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9=20=D0=BA=D0=BB=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=88=D0=B8=20(=D0=B8=20=D1=82=D0=BE=20=D0=BD=D0=B5=20=D0=BB?= =?UTF-8?q?=D1=8E=D0=B1=D0=BE=D0=B9).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- far/changelog | 5 +++++ far/scrbuf.cpp | 56 +++++++++++++++++++++++++++----------------------- far/vbuild.m4 | 2 +- 3 files changed, 36 insertions(+), 27 deletions(-) diff --git a/far/changelog b/far/changelog index 226369ae0c..681caf6b73 100644 --- a/far/changelog +++ b/far/changelog @@ -1,3 +1,8 @@ +zg 02.06.2016 01:51:47 +0200 - build 4695 + +1. с форума: Если в диалоге начать записывать макрос (нажать Ctrl.), то индикатор записи макроса сразу не появляется, + а только после нажатия дополнительной клавиши (и то не любой). + drkns 01.06.2016 22:51:16 +0200 - build 4694 1. С форума: Menu.Id в диалогах приводило к падению. diff --git a/far/scrbuf.cpp b/far/scrbuf.cpp index b334b61ba5..fd48c9ba78 100644 --- a/far/scrbuf.cpp +++ b/far/scrbuf.cpp @@ -326,12 +326,13 @@ void ScreenBuf::Flush(flush_type FlushType) SBFlags.Set(SBFLAGS_FLUSHEDCURTYPE); } - if (FlushType & flush_type::screen && !SBFlags.Check(SBFLAGS_FLUSHED)) + if (FlushType & flush_type::screen) { - auto SetMacroChar = [](FAR_CHAR_INFO& Where, wchar_t Char, WORD Color) + auto SetMacroChar = [this](FAR_CHAR_INFO& Where, wchar_t Char, WORD Color) { Where.Char = Char; Where.Attributes = colors::ConsoleColorToFarColor(Color); + SBFlags.Clear(SBFLAGS_FLUSHED); }; if (Global->CtrlObject && @@ -357,13 +358,15 @@ void ScreenBuf::Flush(flush_type FlushType) SetMacroChar(Where, L'A', B_LIGHTRED | F_WHITE); } - if (Global->WaitInMainLoop && Global->Opt->Clock) + if (!SBFlags.Check(SBFLAGS_FLUSHED)) { - ShowTime(); - } + if (Global->WaitInMainLoop && Global->Opt->Clock) + { + ShowTime(); + } - std::vectorWriteList; - bool Changes=false; + std::vectorWriteList; + bool Changes=false; if (Global->Opt->ClearType) { @@ -452,29 +455,30 @@ void ScreenBuf::Flush(flush_type FlushType) } } - if (Changes) - { - std::for_each(CONST_RANGE(WriteList, i) + if (Changes) { - COORD BufferCoord = { i.Left, i.Top }; - SMALL_RECT WriteRegion = i; - Console().WriteOutput(Buf, BufferCoord, WriteRegion); - }); - Console().Commit(); - Shadow = Buf; - } + std::for_each(CONST_RANGE(WriteList, i) + { + COORD BufferCoord = { i.Left, i.Top }; + SMALL_RECT WriteRegion = i; + Console().WriteOutput(Buf, BufferCoord, WriteRegion); + }); + Console().Commit(); + Shadow = Buf; + } - if (MacroCharUsed) - { - Buf[0][0] = MacroChar; - } + if (MacroCharUsed) + { + Buf[0][0] = MacroChar; + } - if (ElevationCharUsed) - { - Buf.back().back() = ElevationChar; - } + if (ElevationCharUsed) + { + Buf.back().back() = ElevationChar; + } - SBFlags.Set(SBFLAGS_FLUSHED); + SBFlags.Set(SBFLAGS_FLUSHED); + } } if (FlushType & flush_type::cursor && !SBFlags.Check(SBFLAGS_FLUSHEDCURPOS)) diff --git a/far/vbuild.m4 b/far/vbuild.m4 index 2ac29d4ae9..7f5402b84b 100644 --- a/far/vbuild.m4 +++ b/far/vbuild.m4 @@ -1 +1 @@ -m4_define(BUILD,4694)m4_dnl +m4_define(BUILD,4695)m4_dnl