diff --git a/far/changelog b/far/changelog
index b9db6af03e..9c2406073f 100644
--- a/far/changelog
+++ b/far/changelog
@@ -1,3 +1,8 @@
+--------------------------------------------------------------------------------
+drkns 11.07.2021 16:27:30 +0100 - build 5846
+
+1. Screen artefacts after updating QView panel.
+
--------------------------------------------------------------------------------
drkns 10.07.2021 15:55:20 +0100 - build 5845
diff --git a/far/encoding.hpp b/far/encoding.hpp
index 986a55fb7f..9393b4207a 100644
--- a/far/encoding.hpp
+++ b/far/encoding.hpp
@@ -178,7 +178,7 @@ namespace encoding
public:
NONCOPYABLE(memory_writer);
explicit memory_writer(uintptr_t Codepage, bool AddSignature = true);
- void write(string_view Str, const bool validate=true);
+ void write(string_view Str, bool validate = true);
void flush_to(std::ostream& Stream);
diff --git a/far/far.natvis b/far/far.natvis
index 18c2db86ba..06988dda66 100644
--- a/far/far.natvis
+++ b/far/far.natvis
@@ -38,6 +38,21 @@
+
+
+
+
+
+ - m_Data + i * m_Rows,[m_Cols]na
+ ++i
+
+
+
+
+
+
+
+
[{left} {top} {right} {bottom}]
@@ -157,6 +172,7 @@
yellow
white
+ - short(ForegroundColor & 0xf),xb
- short(ForegroundRGBA.a)
@@ -179,6 +195,7 @@
yellow
white
+ - short(BackgroundColor & 0xf),xb
- short(BackgroundRGBA.a)
@@ -194,13 +211,14 @@
- bool(Flags & FCF_FG_STRIKEOUT)
- bool(Flags & FCF_FG_FAINT)
- bool(Flags & FCF_FG_BLINK)
+ - short((Flags & FCF_RAWATTR_MASK) >> 8),h
- {Char}
+ {&Char,[1]sub}
diff --git a/far/filelist.cpp b/far/filelist.cpp
index 5b7be62ab5..43813393a9 100644
--- a/far/filelist.cpp
+++ b/far/filelist.cpp
@@ -7528,6 +7528,12 @@ void FileList::ShowFileList(bool Fast)
Parent()->GetAnotherPanel(this)->Update(UPDATE_KEEP_SELECTION | UPDATE_SECONDARY);
}
+ if (!ProcessingPluginCommand && LastCurFile != m_CurFile)
+ {
+ LastCurFile = m_CurFile;
+ UpdateViewPanel();
+ }
+
SetScreen({ m_Where.left + 1, m_Where.top + 1, m_Where.right - 1, m_Where.bottom - 1 }, L' ', colors::PaletteColorToFarColor(COL_PANELTEXT));
Box(m_Where, colors::PaletteColorToFarColor(COL_PANELBOX), DOUBLE_BOX);
@@ -7787,12 +7793,6 @@ void FileList::ShowFileList(bool Fast)
ShowScreensCount();
- if (!ProcessingPluginCommand && LastCurFile!=m_CurFile)
- {
- LastCurFile=m_CurFile;
- UpdateViewPanel();
- }
-
if (m_PanelMode == panel_mode::PLUGIN_PANEL)
Parent()->RedrawKeyBar();
}
diff --git a/far/filepanels.cpp b/far/filepanels.cpp
index 245fc218a0..0eaf3d2d5d 100644
--- a/far/filepanels.cpp
+++ b/far/filepanels.cpp
@@ -530,6 +530,8 @@ bool FilePanels::ProcessKey(const Manager::Key& Key)
AnotherPanel->Update(UPDATE_KEEP_SELECTION);
AnotherPanel->Show();
+
+ ActivePanel()->Show();
}
}
break;
diff --git a/far/qview.cpp b/far/qview.cpp
index a71375e665..276e7140ad 100644
--- a/far/qview.cpp
+++ b/far/qview.cpp
@@ -489,11 +489,6 @@ void QuickView::ShowFile(string_view const FileName, const UserDataItem* const U
const auto ExitCode = GetDirInfo(strCurFileName, Data, nullptr, DirInfoCallback, GETDIRINFO_ENHBREAK | GETDIRINFO_SCANSYMLINKDEF);
m_DirectoryScanStatus = ExitCode == -1? scan_status::real_fail : scan_status::real_ok; // ExitCode: 1=done; 0=Esc,CtrlBreak; -1=Other
uncomplete_dirscan = ExitCode != 1;
-
- if (const auto Window = m_Owner.lock())
- {
- Window->Redraw();
- }
}
}
else
diff --git a/far/vbuild.m4 b/far/vbuild.m4
index 1b067f73b2..f76fa92abd 100644
--- a/far/vbuild.m4
+++ b/far/vbuild.m4
@@ -1 +1 @@
-5845
+5846