Patches to review

Yuriy Skalko yuriy.skalko at gmail.com
Fri Nov 27 21:43:45 UTC 2020


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

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

Yuriy
-------------- next part --------------
From a164646e24e8271950d51ccc6d889f860cddff5b Mon Sep 17 00:00:00 2001
From: Yuriy Skalko <yuriy.skalko at 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

-------------- next part --------------
From 838415966b08c80d8acbc324eff9395753f53594 Mon Sep 17 00:00:00 2001
From: Yuriy Skalko <yuriy.skalko at 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

-------------- next part --------------
From 0a66da642aa1a977ac36b5a42ce9aa8ed99c1392 Mon Sep 17 00:00:00 2001
From: Yuriy Skalko <yuriy.skalko at 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

-------------- next part --------------
From 5f177814e8682f61755778d4e0a9a4934ad57d53 Mon Sep 17 00:00:00 2001
From: Yuriy Skalko <yuriy.skalko at 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

-------------- next part --------------
From 42e8e8256a5a7679ae959073ac6e4f7d7c70ea77 Mon Sep 17 00:00:00 2001
From: Yuriy Skalko <yuriy.skalko at 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



More information about the lyx-devel mailing list