If it really isn't used, then go ahead.

Riki

Here is patch to remove it + another patches to review.

Yuriy
From a164646e24e8271950d51ccc6d889f860cddff5b Mon Sep 17 00:00:00 2001
From: Yuriy Skalko <yuriy.ska...@gmail.com>
Date: Fri, 27 Nov 2020 11:09:16 +0200
Subject: [PATCH 1/5] Use range-based loops

---
 src/graphics/GraphicsCache.cpp | 23 ++++++-----------------
 1 file changed, 6 insertions(+), 17 deletions(-)

diff --git a/src/graphics/GraphicsCache.cpp b/src/graphics/GraphicsCache.cpp
index dbf9cafa5e..5f89c56fd4 100644
--- a/src/graphics/GraphicsCache.cpp
+++ b/src/graphics/GraphicsCache.cpp
@@ -70,18 +70,10 @@ vector<string> const & Cache::loadableFormats() const
        if (!fmts.empty())
                return fmts;
 
-       // The formats recognised by LyX
-       Formats::const_iterator begin = theFormats().begin();
-       Formats::const_iterator end   = theFormats().end();
-
-       // The formats natively loadable.
-       vector<string> nformat = frontend::loadableImageFormats();
-
-       vector<string>::const_iterator it = nformat.begin();
-       for (; it != nformat.end(); ++it) {
-               for (Formats::const_iterator fit = begin; fit != end; ++fit) {
-                       if (fit->extension() == *it) {
-                               fmts.push_back(fit->name());
+       for (string const & native_extension : 
frontend::loadableImageFormats()) {
+               for (Format const & format : theFormats()) {
+                       if (format.extension() == native_extension) {
+                               fmts.push_back(format.name());
                                break;
                        }
                }
@@ -89,11 +81,8 @@ vector<string> const & Cache::loadableFormats() const
 
        if (lyxerr.debugging()) {
                LYXERR(Debug::GRAPHICS, "LyX recognises the following image 
formats:");
-
-               vector<string>::const_iterator fbegin = fmts.begin();
-               vector<string>::const_iterator fend = fmts.end();
-               for (vector<string>::const_iterator fit = fbegin; fit != fend; 
++fit) {
-                       LYXERR(Debug::GRAPHICS, *fit << ',');
+               for (string const & format : fmts) {
+                       LYXERR(Debug::GRAPHICS, format << ',');
                }
        }
 
-- 
2.28.0.windows.1

From 838415966b08c80d8acbc324eff9395753f53594 Mon Sep 17 00:00:00 2001
From: Yuriy Skalko <yuriy.ska...@gmail.com>
Date: Fri, 27 Nov 2020 20:00:29 +0200
Subject: [PATCH 2/5] Cleanup included headers

---
 src/frontends/qt/GuiPrefs.cpp      | 2 --
 src/frontends/qt/GuiWorkArea.cpp   | 3 ---
 src/graphics/GraphicsCache.cpp     | 2 --
 src/graphics/GraphicsConverter.cpp | 4 ----
 src/graphics/PreviewLoader.cpp     | 3 ---
 src/insets/InsetInclude.cpp        | 3 ---
 src/insets/InsetLabel.cpp          | 5 -----
 src/insets/InsetNomencl.cpp        | 1 -
 src/insets/InsetNote.cpp           | 1 -
 src/insets/InsetPhantom.cpp        | 1 -
 src/insets/InsetPreview.cpp        | 1 -
 src/mathed/InsetMathHull.cpp       | 1 -
 12 files changed, 27 deletions(-)

diff --git a/src/frontends/qt/GuiPrefs.cpp b/src/frontends/qt/GuiPrefs.cpp
index 79064dfd87..f0ccb52308 100644
--- a/src/frontends/qt/GuiPrefs.cpp
+++ b/src/frontends/qt/GuiPrefs.cpp
@@ -49,8 +49,6 @@
 #include "support/os.h"
 #include "support/Package.h"
 
-#include "graphics/GraphicsTypes.h"
-
 #include "frontends/alert.h"
 #include "frontends/Application.h"
 #include "frontends/FontLoader.h"
diff --git a/src/frontends/qt/GuiWorkArea.cpp b/src/frontends/qt/GuiWorkArea.cpp
index 1c76928ab9..8bb0bfc682 100644
--- a/src/frontends/qt/GuiWorkArea.cpp
+++ b/src/frontends/qt/GuiWorkArea.cpp
@@ -40,9 +40,6 @@
 #include "Undo.h"
 #include "version.h"
 
-#include "graphics/GraphicsImage.h"
-#include "graphics/GraphicsLoader.h"
-
 #include "support/convert.h"
 #include "support/debug.h"
 #include "support/lassert.h"
diff --git a/src/graphics/GraphicsCache.cpp b/src/graphics/GraphicsCache.cpp
index 5f89c56fd4..bf1b3fceff 100644
--- a/src/graphics/GraphicsCache.cpp
+++ b/src/graphics/GraphicsCache.cpp
@@ -13,7 +13,6 @@
 
 #include "GraphicsCache.h"
 #include "GraphicsCacheItem.h"
-#include "GraphicsImage.h"
 
 #include "Format.h"
 
@@ -21,7 +20,6 @@
 
 #include "support/debug.h"
 #include "support/FileName.h"
-#include "support/filetools.h"
 
 #include <map>
 
diff --git a/src/graphics/GraphicsConverter.cpp 
b/src/graphics/GraphicsConverter.cpp
index 6c3e48d93a..1461fdb27c 100644
--- a/src/graphics/GraphicsConverter.cpp
+++ b/src/graphics/GraphicsConverter.cpp
@@ -12,12 +12,9 @@
 
 #include "GraphicsConverter.h"
 
-#include "Buffer.h"
 #include "Converter.h"
 #include "Format.h"
-#include "LyXRC.h"
 
-#include "frontends/alert.h"
 #include "support/lassert.h"
 #include "support/convert.h"
 #include "support/debug.h"
@@ -25,7 +22,6 @@
 #include "support/filetools.h"
 #include "support/ForkedCalls.h"
 #include "support/lstrings.h"
-#include "support/os.h"
 
 #include "support/TempFile.h"
 
diff --git a/src/graphics/PreviewLoader.cpp b/src/graphics/PreviewLoader.cpp
index a7e37f3ee5..de3f4a3616 100644
--- a/src/graphics/PreviewLoader.cpp
+++ b/src/graphics/PreviewLoader.cpp
@@ -19,7 +19,6 @@
 #include "Converter.h"
 #include "Encoding.h"
 #include "Format.h"
-#include "InsetIterator.h"
 #include "LaTeXFeatures.h"
 #include "LyXRC.h"
 #include "output.h"
@@ -29,8 +28,6 @@
 
 #include "frontends/Application.h" // hexName
 
-#include "insets/Inset.h"
-
 #include "support/convert.h"
 #include "support/debug.h"
 #include "support/FileName.h"
diff --git a/src/insets/InsetInclude.cpp b/src/insets/InsetInclude.cpp
index 049c241dff..b7b34dae47 100644
--- a/src/insets/InsetInclude.cpp
+++ b/src/insets/InsetInclude.cpp
@@ -20,7 +20,6 @@
 #include "BufferView.h"
 #include "Converter.h"
 #include "Cursor.h"
-#include "DispatchResult.h"
 #include "Encoding.h"
 #include "ErrorList.h"
 #include "Exporter.h"
@@ -28,10 +27,8 @@
 #include "FuncRequest.h"
 #include "FuncStatus.h"
 #include "LaTeXFeatures.h"
-#include "LayoutFile.h"
 #include "LayoutModuleList.h"
 #include "LyX.h"
-#include "Lexer.h"
 #include "MetricsInfo.h"
 #include "output_plaintext.h"
 #include "output_xhtml.h"
diff --git a/src/insets/InsetLabel.cpp b/src/insets/InsetLabel.cpp
index ce4494759c..3aa218c091 100644
--- a/src/insets/InsetLabel.cpp
+++ b/src/insets/InsetLabel.cpp
@@ -14,16 +14,12 @@
 
 #include "InsetRef.h"
 
-#include "buffer_funcs.h"
 #include "Buffer.h"
 #include "BufferParams.h"
-#include "BufferView.h"
 #include "Cursor.h"
 #include "CutAndPaste.h"
-#include "DispatchResult.h"
 #include "FuncRequest.h"
 #include "FuncStatus.h"
-#include "InsetIterator.h"
 #include "Language.h"
 #include "LyX.h"
 #include "ParIterator.h"
@@ -33,7 +29,6 @@
 #include "TextClass.h"
 #include "TocBackend.h"
 
-#include "mathed/InsetMathHull.h"
 #include "mathed/InsetMathRef.h"
 
 #include "frontends/alert.h"
diff --git a/src/insets/InsetNomencl.cpp b/src/insets/InsetNomencl.cpp
index 9d80f15b70..bdb15a9ca7 100644
--- a/src/insets/InsetNomencl.cpp
+++ b/src/insets/InsetNomencl.cpp
@@ -22,7 +22,6 @@
 #include "Encoding.h"
 #include "FuncRequest.h"
 #include "FuncStatus.h"
-#include "InsetIterator.h"
 #include "InsetList.h"
 #include "Language.h"
 #include "LaTeXFeatures.h"
diff --git a/src/insets/InsetNote.cpp b/src/insets/InsetNote.cpp
index 20ffa08dea..e9e2b2e306 100644
--- a/src/insets/InsetNote.cpp
+++ b/src/insets/InsetNote.cpp
@@ -23,7 +23,6 @@
 #include "Exporter.h"
 #include "FuncRequest.h"
 #include "FuncStatus.h"
-#include "InsetIterator.h"
 #include "LaTeXFeatures.h"
 #include "Lexer.h"
 #include "LyXRC.h"
diff --git a/src/insets/InsetPhantom.cpp b/src/insets/InsetPhantom.cpp
index 663932f8e0..770f14e084 100644
--- a/src/insets/InsetPhantom.cpp
+++ b/src/insets/InsetPhantom.cpp
@@ -21,7 +21,6 @@
 #include "Exporter.h"
 #include "FuncRequest.h"
 #include "FuncStatus.h"
-#include "InsetIterator.h"
 #include "LaTeXFeatures.h"
 #include "Lexer.h"
 #include "MetricsInfo.h"
diff --git a/src/insets/InsetPreview.cpp b/src/insets/InsetPreview.cpp
index ba4a69d33d..7fe92e8cfe 100644
--- a/src/insets/InsetPreview.cpp
+++ b/src/insets/InsetPreview.cpp
@@ -16,7 +16,6 @@
 #include "BufferView.h"
 #include "Cursor.h"
 #include "Dimension.h"
-#include "Lexer.h"
 #include "MetricsInfo.h"
 #include "OutputParams.h"
 #include "RenderPreview.h"
diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp
index e58d8e14ab..5c8df010e3 100644
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -51,7 +51,6 @@
 #include "insets/InsetRef.h"
 #include "insets/RenderPreview.h"
 
-#include "graphics/GraphicsImage.h"
 #include "graphics/PreviewImage.h"
 #include "graphics/PreviewLoader.h"
 
-- 
2.28.0.windows.1

From 0a66da642aa1a977ac36b5a42ce9aa8ed99c1392 Mon Sep 17 00:00:00 2001
From: Yuriy Skalko <yuriy.ska...@gmail.com>
Date: Fri, 27 Nov 2020 20:10:52 +0200
Subject: [PATCH 3/5] Make InsetIterator compatible with range-based loops

---
 src/Buffer.cpp               | 28 +++++++++++++---------------
 src/BufferEncodings.cpp      |  7 ++-----
 src/CutAndPaste.cpp          | 18 +++++++++---------
 src/InsetIterator.cpp        |  4 ++--
 src/InsetIterator.h          |  4 ++--
 src/insets/InsetGraphics.cpp | 27 +++++++++------------------
 src/insets/InsetTabular.cpp  |  9 ++++-----
 7 files changed, 41 insertions(+), 56 deletions(-)

diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index bed92bc210..1a6ac883a9 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -1275,9 +1275,9 @@ void Buffer::updatePreviews() const
        if (!ploader)
                return;
 
-       InsetIterator it = inset_iterator_begin(*d->inset);
-       InsetIterator const end = inset_iterator_end(*d->inset);
-       for (; it != end; ++it)
+       InsetIterator it = begin(*d->inset);
+       InsetIterator const itend = end(*d->inset);
+       for (; it != itend; ++it)
                it->addPreview(it, *ploader);
 
        ploader->startLoading();
@@ -2581,7 +2581,7 @@ void Buffer::collectBibKeys(FileNameList & checkedFiles) 
const
        if (!parent())
                clearIncludeList();
 
-       for (InsetIterator it = inset_iterator_begin(inset()); it; ++it) {
+       for (InsetIterator it = begin(inset()); it; ++it) {
                it->collectBibKeys(it, checkedFiles);
                if (it->lyxCode() == BIBITEM_CODE) {
                        if (parent() != nullptr)
@@ -2959,10 +2959,10 @@ void Buffer::dispatch(FuncRequest const & func, 
DispatchResult & dr)
 
                docstring const oldname = from_utf8(func.getArg(0));
                docstring const newname = from_utf8(func.getArg(1));
-               InsetIterator it  = inset_iterator_begin(inset());
-               InsetIterator const end = inset_iterator_end(inset());
+               InsetIterator it  = begin(inset());
+               InsetIterator const itend = end(inset());
                bool success = false;
-               for (; it != end; ++it) {
+               for (; it != itend; ++it) {
                        if (it->lyxCode() == BRANCH_CODE) {
                                InsetBranch & ins = static_cast<InsetBranch 
&>(*it);
                                if (ins.branch() == oldname) {
@@ -3841,11 +3841,9 @@ void Buffer::updateMacros() const
 
 void Buffer::getUsedBranches(std::list<docstring> & result, bool const 
from_master) const
 {
-       InsetIterator it  = inset_iterator_begin(inset());
-       InsetIterator const end = inset_iterator_end(inset());
-       for (; it != end; ++it) {
-               if (it->lyxCode() == BRANCH_CODE) {
-                       InsetBranch & br = static_cast<InsetBranch &>(*it);
+       for (Inset const & it : inset()) {
+               if (it.lyxCode() == BRANCH_CODE) {
+                       InsetBranch const & br = static_cast<InsetBranch const 
&>(it);
                        docstring const name = br.branch();
                        if (!from_master && !params().branchlist().find(name))
                                result.push_back(name);
@@ -3853,10 +3851,10 @@ void Buffer::getUsedBranches(std::list<docstring> & 
result, bool const from_mast
                                result.push_back(name);
                        continue;
                }
-               if (it->lyxCode() == INCLUDE_CODE) {
+               if (it.lyxCode() == INCLUDE_CODE) {
                        // get buffer of external file
                        InsetInclude const & ins =
-                               static_cast<InsetInclude const &>(*it);
+                               static_cast<InsetInclude const &>(it);
                        Buffer * child = ins.loadIfNeeded();
                        if (!child)
                                continue;
@@ -4027,7 +4025,7 @@ void Buffer::changeRefsIfUnique(docstring const & from, 
docstring const & to)
 
        string const paramName = "key";
        UndoGroupHelper ugh(this);
-       InsetIterator it = inset_iterator_begin(inset());
+       InsetIterator it = begin(inset());
        for (; it; ++it) {
                if (it->lyxCode() != CITE_CODE)
                        continue;
diff --git a/src/BufferEncodings.cpp b/src/BufferEncodings.cpp
index d4f08fca34..dcf422d54b 100644
--- a/src/BufferEncodings.cpp
+++ b/src/BufferEncodings.cpp
@@ -35,11 +35,8 @@ void BufferEncodings::initUnicodeMath(Buffer const & buffer, 
bool for_master)
        }
 
        // Check this buffer
-       Inset & inset = buffer.inset();
-       InsetIterator it = inset_iterator_begin(inset);
-       InsetIterator const end = inset_iterator_end(inset);
-       for (; it != end; ++it)
-               it->initUnicodeMath();
+       for (Inset const & it : buffer.inset())
+               it.initUnicodeMath();
 
        if (!for_master)
                return;
diff --git a/src/CutAndPaste.cpp b/src/CutAndPaste.cpp
index a1c4de5b35..b6aec8f5a5 100644
--- a/src/CutAndPaste.cpp
+++ b/src/CutAndPaste.cpp
@@ -292,8 +292,8 @@ pasteSelectionHelper(DocIterator const & cur, ParagraphList 
const & parlist,
        // Prepare the paragraphs and insets for insertion.
        insertion.swap(in.paragraphs());
 
-       InsetIterator const i_end = inset_iterator_end(in);
-       for (InsetIterator it = inset_iterator_begin(in); it != i_end; ++it) {
+       InsetIterator const i_end = end(in);
+       for (InsetIterator it = begin(in); it != i_end; ++it) {
                // Even though this will also be done later, it has to be done 
here
                // since some inset might try to access the buffer() member.
                it->setBuffer(const_cast<Buffer &>(buffer));
@@ -315,7 +315,7 @@ pasteSelectionHelper(DocIterator const & cur, ParagraphList 
const & parlist,
                                if (oldname == newname)
                                        continue;
                                // adapt the references
-                               for (InsetIterator itt = 
inset_iterator_begin(in);
+                               for (InsetIterator itt = begin(in);
                                      itt != i_end; ++itt) {
                                        if (itt->lyxCode() == REF_CODE) {
                                                InsetCommand * ref = 
itt->asInsetCommand();
@@ -346,7 +346,7 @@ pasteSelectionHelper(DocIterator const & cur, ParagraphList 
const & parlist,
                        if (oldname == newname)
                                break;
                        // adapt the references
-                       for (InsetIterator itt = inset_iterator_begin(in); itt 
!= i_end; ++itt) {
+                       for (InsetIterator itt = begin(in); itt != i_end; 
++itt) {
                                if (itt->lyxCode() == REF_CODE) {
                                        InsetCommand & ref = 
static_cast<InsetCommand &>(*itt);
                                        if (ref.getParam("reference") == 
oldname)
@@ -393,7 +393,7 @@ pasteSelectionHelper(DocIterator const & cur, ParagraphList 
const & parlist,
                        if (oldkey == newkey)
                                break;
                        // adapt the references
-                       for (InsetIterator itt = inset_iterator_begin(in);
+                       for (InsetIterator itt = begin(in);
                             itt != i_end; ++itt) {
                                if (itt->lyxCode() == CITE_CODE) {
                                        InsetCommand * ref = 
itt->asInsetCommand();
@@ -806,10 +806,10 @@ void switchBetweenClasses(DocumentClassConstPtr oldone,
 
        // layouts
        ParIterator it = par_iterator_begin(in);
-       ParIterator end = par_iterator_end(in);
+       ParIterator pend = par_iterator_end(in);
        // for remembering which layouts we've had to add
        set<docstring> newlayouts;
-       for (; it != end; ++it) {
+       for (; it != pend; ++it) {
                docstring const name = it->layout().name();
 
                // the pasted text will keep their own layout name. If this 
layout does
@@ -832,8 +832,8 @@ void switchBetweenClasses(DocumentClassConstPtr oldone,
        }
 
        // character styles and hidden table cells
-       InsetIterator const i_end = inset_iterator_end(in);
-       for (InsetIterator iit = inset_iterator_begin(in); iit != i_end; ++iit) 
{
+       InsetIterator const i_end = end(in);
+       for (InsetIterator iit = begin(in); iit != i_end; ++iit) {
                InsetCode const code = iit->lyxCode();
                if (code == FLEX_CODE) {
                        // FIXME: Should we verify all InsetCollapsible?
diff --git a/src/InsetIterator.cpp b/src/InsetIterator.cpp
index d9ed1e3737..7ac238bd1b 100644
--- a/src/InsetIterator.cpp
+++ b/src/InsetIterator.cpp
@@ -25,7 +25,7 @@ InsetIterator::InsetIterator(Inset & inset)
 }
 
 
-InsetIterator inset_iterator_begin(Inset & inset)
+InsetIterator begin(Inset & inset)
 {
        InsetIterator it = InsetIterator(inset);
        it.forwardInset();
@@ -33,7 +33,7 @@ InsetIterator inset_iterator_begin(Inset & inset)
 }
 
 
-InsetIterator inset_iterator_end(Inset & inset)
+InsetIterator end(Inset & inset)
 {
        return InsetIterator(inset);
 }
diff --git a/src/InsetIterator.h b/src/InsetIterator.h
index 0029865a76..96d16cb386 100644
--- a/src/InsetIterator.h
+++ b/src/InsetIterator.h
@@ -33,9 +33,9 @@ public:
        Inset & operator*() { return *nextInset(); }
 };
 
-InsetIterator inset_iterator_begin(Inset & inset);
+InsetIterator begin(Inset & inset);
 
-InsetIterator inset_iterator_end(Inset & inset);
+InsetIterator end(Inset & inset);
 
 
 
diff --git a/src/insets/InsetGraphics.cpp b/src/insets/InsetGraphics.cpp
index a09d45e28f..6b5c9eb616 100644
--- a/src/insets/InsetGraphics.cpp
+++ b/src/insets/InsetGraphics.cpp
@@ -1188,11 +1188,8 @@ namespace graphics {
 
 void getGraphicsGroups(Buffer const & b, set<string> & ids)
 {
-       Inset & inset = b.inset();
-       InsetIterator it  = inset_iterator_begin(inset);
-       InsetIterator const end = inset_iterator_end(inset);
-       for (; it != end; ++it) {
-               InsetGraphics const * ins = it->asInsetGraphics();
+       for (Inset const & it : b.inset()) {
+               InsetGraphics const * ins = it.asInsetGraphics();
                if (!ins)
                        continue;
                InsetGraphicsParams const & inspar = ins->getParams();
@@ -1207,11 +1204,8 @@ int countGroupMembers(Buffer const & b, string const & 
groupId)
        int n = 0;
        if (groupId.empty())
                return n;
-       Inset & inset = b.inset();
-       InsetIterator it = inset_iterator_begin(inset);
-       InsetIterator const end = inset_iterator_end(inset);
-       for (; it != end; ++it) {
-               InsetGraphics const * ins = it->asInsetGraphics();
+       for (Inset const & it : b.inset()) {
+               InsetGraphics const * ins = it.asInsetGraphics();
                if (!ins)
                        continue; 
                if (ins->getParams().groupId == groupId)
@@ -1225,11 +1219,8 @@ string getGroupParams(Buffer const & b, string const & 
groupId)
 {
        if (groupId.empty())
                return string();
-       Inset & inset = b.inset();
-       InsetIterator it  = inset_iterator_begin(inset);
-       InsetIterator const end = inset_iterator_end(inset);
-       for (; it != end; ++it) {
-               InsetGraphics const * ins = it->asInsetGraphics();
+       for (Inset const & it : b.inset()) {
+               InsetGraphics const * ins = it.asInsetGraphics();
                if (!ins)
                        continue;
                InsetGraphicsParams const & inspar = ins->getParams();
@@ -1251,9 +1242,9 @@ void unifyGraphicsGroups(Buffer & b, string const & 
argument)
        // This handles undo groups automagically
        UndoGroupHelper ugh(&b);
        Inset & inset = b.inset();
-       InsetIterator it  = inset_iterator_begin(inset);
-       InsetIterator const end = inset_iterator_end(inset);
-       for (; it != end; ++it) {
+       InsetIterator it  = begin(inset);
+       InsetIterator const itend = end(inset);
+       for (; it != itend; ++it) {
                InsetGraphics * ins = it->asInsetGraphics();
                if (!ins)
                        continue;
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index 1237b57847..18151feb75 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3132,12 +3132,11 @@ void Tabular::TeXRow(otexstream & os, row_type row,
                } else if (ltCaption(row)) {
                        // Inside longtable caption rows, we must only output 
the caption inset
                        // with its content and omit anything outside of that 
(see #10791)
-                       InsetIterator it = 
inset_iterator_begin(*const_cast<InsetTableCell *>(inset));
-                       InsetIterator i_end = 
inset_iterator_end(*const_cast<InsetTableCell *>(inset));
-                       for (; it != i_end; ++it) {
-                               if (it->lyxCode() != CAPTION_CODE)
+                       InsetTableCell & tc_inset = *const_cast<InsetTableCell 
*>(inset);
+                       for (Inset const & it : tc_inset) {
+                               if (it.lyxCode() != CAPTION_CODE)
                                        continue;
-                               it->latex(os, runparams);
+                               it.latex(os, runparams);
                                break;
                        }
                } else if (!isPartOfMultiRow(row, c)) {
-- 
2.28.0.windows.1

From 5f177814e8682f61755778d4e0a9a4934ad57d53 Mon Sep 17 00:00:00 2001
From: Yuriy Skalko <yuriy.ska...@gmail.com>
Date: Fri, 27 Nov 2020 23:22:35 +0200
Subject: [PATCH 4/5] Fix buffer over-read on last Unicode code points

---
 src/frontends/qt/GuiSymbols.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/frontends/qt/GuiSymbols.cpp b/src/frontends/qt/GuiSymbols.cpp
index 050584a567..99d1fc0215 100644
--- a/src/frontends/qt/GuiSymbols.cpp
+++ b/src/frontends/qt/GuiSymbols.cpp
@@ -169,7 +169,7 @@ QString getBlock(char_type c)
 
        // c falls into an uncovered area, but we can guess which
        if (c > unicode_blocks[lastBlock].end
-           && c < unicode_blocks[lastBlock + 1].start)
+           && (lastBlock == no_blocks-1 || c < unicode_blocks[lastBlock + 
1].start))
                return QString();
 
        // guessing was wrong so far. do a real search.
-- 
2.28.0.windows.1

From 42e8e8256a5a7679ae959073ac6e4f7d7c70ea77 Mon Sep 17 00:00:00 2001
From: Yuriy Skalko <yuriy.ska...@gmail.com>
Date: Fri, 27 Nov 2020 23:41:06 +0200
Subject: [PATCH 5/5] Remove unused Counters::copy

---
 src/Counters.cpp | 10 ----------
 src/Counters.h   |  4 ----
 2 files changed, 14 deletions(-)

diff --git a/src/Counters.cpp b/src/Counters.cpp
index 139dc9bcd7..6376b647f4 100644
--- a/src/Counters.cpp
+++ b/src/Counters.cpp
@@ -413,16 +413,6 @@ bool Counters::remove(docstring const & cnt)
 }
 
 
-void Counters::copy(Counters const & from, Counters & to, docstring const & 
match) const
-{
-       for (auto const & ctr : counterList_) {
-               if (ctr.first.find(match) != string::npos || match == "") {
-                       to.set(ctr.first, from.value(ctr.first));
-               }
-       }
-}
-
-
 docstring Counters::labelItem(docstring const & ctr,
                              docstring const & numbertype) const
 {
diff --git a/src/Counters.h b/src/Counters.h
index e6554a284f..ecd68537ae 100644
--- a/src/Counters.h
+++ b/src/Counters.h
@@ -160,10 +160,6 @@ public:
        void reset(docstring const & match);
        /// Remove counter \p cnt.
        bool remove(docstring const & cnt);
-       /// Copy counters whose name matches match from the &from to
-       /// the &to array of counters. Empty string matches all.
-       void copy(Counters const & from, Counters & to,
-                 docstring const & match = docstring()) const;
        /** returns the expanded string representation of counter \c
         *  c. The \c lang code is used to translate the string.
         */
-- 
2.28.0.windows.1

-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to