[LyX features/cleanup/updateMacros4] Fix iterator in InsetInclude to be as it was previously.

Richard Kimberly Heck rikiheck at lyx.org
Fri Nov 13 00:29:26 UTC 2020


The branch, cleanup/updateMacros4, has been updated.

- Log -----------------------------------------------------------------

commit c437264b4d7b001f550db5af2794cd4876c7ddb0
Author: Richard Kimberly Heck <rikiheck at lyx.org>
Date:   Thu Nov 12 19:58:30 2020 -0500

    Fix iterator in InsetInclude to be as it was previously.

diff --git a/src/insets/InsetInclude.cpp b/src/insets/InsetInclude.cpp
index eff6fb5..1387baf 100644
--- a/src/insets/InsetInclude.cpp
+++ b/src/insets/InsetInclude.cpp
@@ -1405,8 +1405,15 @@ void InsetInclude::updateMacros(DocIterator const & us, DocIterator const & scop
 	buffer().setMacroLock();
 	loadIfNeeded();
 	buffer().clearMacroLock();
-	if (child_buffer_)
+	if (child_buffer_) {
+		// We want an iterator that just points at the location of this inset,
+		// whereas the one we were passed has us on top.
+		// At least, that is how the updateMacros code was before RKH modified
+		// it. That is not to say they quite understand why it was like that.
+		DocIterator it = us;
+		it.pop_back();
 		buffer().registerChild(child_buffer_, us, scope);
+	}
 }
 
 

-----------------------------------------------------------------------

Summary of changes:
 src/insets/InsetInclude.cpp |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
Repository for new features


More information about the lyx-cvs mailing list