[LyX/master] Allow to call cap::switchBetweenClasses without an ErrorList.
Richard Kimberly Heck
rikiheck at lyx.org
Fri Feb 26 02:46:11 UTC 2021
commit 946d112ee6b5a8b341f81d5954f2d45dbb185268
Author: Richard Kimberly Heck <rikiheck at lyx.org>
Date: Thu Feb 25 21:49:50 2021 -0500
Allow to call cap::switchBetweenClasses without an ErrorList.
It turns out that we usually don't care about the errors and so
were creating dummy ErrorList objects in several places.
---
src/Buffer.cpp | 6 ++----
src/Compare.cpp | 3 +--
src/CutAndPaste.cpp | 7 +++++++
src/CutAndPaste.h | 8 ++++++--
src/Undo.cpp | 4 +---
src/frontends/qt/GuiApplication.cpp | 3 +--
6 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 5c7b886..d87578d 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -627,10 +627,9 @@ void Buffer::cloneWithChildren(BufferMap & bufmap, CloneList_ptr clones) const
// The clone needs its own DocumentClass, since running updateBuffer() will
// modify it, and we would otherwise be sharing it with the original Buffer.
buffer_clone->params().makeDocumentClass(true);
- ErrorList el;
cap::switchBetweenClasses(
params().documentClassPtr(), buffer_clone->params().documentClassPtr(),
- static_cast<InsetText &>(buffer_clone->inset()), el);
+ static_cast<InsetText &>(buffer_clone->inset()));
bufmap[this] = buffer_clone;
clones->insert(buffer_clone);
@@ -672,10 +671,9 @@ Buffer * Buffer::cloneBufferOnly() const {
// The clone needs its own DocumentClass, since running updateBuffer() will
// modify it, and we would otherwise be sharing it with the original Buffer.
buffer_clone->params().makeDocumentClass(true);
- ErrorList el;
cap::switchBetweenClasses(
params().documentClassPtr(), buffer_clone->params().documentClassPtr(),
- static_cast<InsetText &>(buffer_clone->inset()), el);
+ static_cast<InsetText &>(buffer_clone->inset()));
clones->insert(buffer_clone);
buffer_clone->d->clone_list_ = clones;
diff --git a/src/Compare.cpp b/src/Compare.cpp
index 7d90891..17bd012 100644
--- a/src/Compare.cpp
+++ b/src/Compare.cpp
@@ -407,10 +407,9 @@ void Compare::run()
// new buffer with the document class from wherever they came from.
// So we need to reset the document class of all the paragraphs.
// See bug #10295.
- ErrorList el;
cap::switchBetweenClasses(
olddc, dest_buffer->params().documentClassPtr(),
- static_cast<InsetText &>(dest_buffer->inset()), el);
+ static_cast<InsetText &>(dest_buffer->inset()));
finished(pimpl_->abort_);
}
diff --git a/src/CutAndPaste.cpp b/src/CutAndPaste.cpp
index 150fd8a..6ab73f4 100644
--- a/src/CutAndPaste.cpp
+++ b/src/CutAndPaste.cpp
@@ -798,6 +798,13 @@ bool multipleCellsSelected(CursorData const & cur)
void switchBetweenClasses(DocumentClassConstPtr oldone,
+ DocumentClassConstPtr newone, InsetText & in) {
+ ErrorList el = {};
+ switchBetweenClasses(oldone, newone, in, el);
+}
+
+
+void switchBetweenClasses(DocumentClassConstPtr oldone,
DocumentClassConstPtr newone, InsetText & in, ErrorList & errorlist)
{
errorlist.clear();
diff --git a/src/CutAndPaste.h b/src/CutAndPaste.h
index e4ff08b..6640332 100644
--- a/src/CutAndPaste.h
+++ b/src/CutAndPaste.h
@@ -133,10 +133,14 @@ void pasteParagraphList(Cursor & cur, ParagraphList const & parlist,
/** Needed to switch between different classes. This works
* for a list of paragraphs beginning with the specified par.
- * It changes layouts and character styles.
+ * It changes layouts and character styles. Errors are reported
+ * in the passed ErrorList.
*/
void switchBetweenClasses(DocumentClassConstPtr oldone,
- DocumentClassConstPtr newone, InsetText & in, ErrorList &);
+ DocumentClassConstPtr newone, InsetText & in, ErrorList & el);
+/// Same but without error reporting.
+void switchBetweenClasses(DocumentClassConstPtr oldone,
+ DocumentClassConstPtr newone, InsetText & in);
/// Get the current selection as a string. Does not change the selection.
/// Does only work if the whole selection is in mathed.
diff --git a/src/Undo.cpp b/src/Undo.cpp
index e7c84f5..a870241 100644
--- a/src/Undo.cpp
+++ b/src/Undo.cpp
@@ -450,10 +450,8 @@ void Undo::Private::doUndoRedoAction(CursorData & cur, UndoElementStack & stack,
otherstack.top().bparams = new BufferParams(buffer_.params());
DocumentClassConstPtr olddc = buffer_.params().documentClassPtr();
buffer_.params() = *undo.bparams;
- // The error list is not supposed to be helpful here.
- ErrorList el;
cap::switchBetweenClasses(olddc, buffer_.params().documentClassPtr(),
- static_cast<InsetText &>(buffer_.inset()), el);
+ static_cast<InsetText &>(buffer_.inset()));
} else if (dit.inMathed()) {
// We stored the full cell here as there is not much to be
// gained by storing just 'a few' paragraphs (most if not
diff --git a/src/frontends/qt/GuiApplication.cpp b/src/frontends/qt/GuiApplication.cpp
index fc2210a..2296a52 100644
--- a/src/frontends/qt/GuiApplication.cpp
+++ b/src/frontends/qt/GuiApplication.cpp
@@ -2164,9 +2164,8 @@ void GuiApplication::dispatch(FuncRequest const & cmd, DispatchResult & dr)
DocumentClassConstPtr olddc = defaults.params().documentClassPtr();
int const unknown_tokens = defaults.readHeader(lex);
DocumentClassConstPtr newdc = defaults.params().documentClassPtr();
- ErrorList el;
InsetText & theinset = static_cast<InsetText &>(defaults.inset());
- cap::switchBetweenClasses(olddc, newdc, theinset, el);
+ cap::switchBetweenClasses(olddc, newdc, theinset);
if (unknown_tokens != 0) {
lyxerr << "Warning in LFUN_BUFFER_SAVE_AS_DEFAULT!\n"
More information about the lyx-cvs
mailing list