]> git.lyx.org Git - features.git/commitdiff
Move updateMacros code to InsetInclude.
authorRichard Kimberly Heck <rikiheck@lyx.org>
Thu, 12 Nov 2020 22:48:51 +0000 (17:48 -0500)
committerRichard Kimberly Heck <rikiheck@lyx.org>
Fri, 13 Nov 2020 00:27:28 +0000 (19:27 -0500)
src/insets/InsetInclude.cpp
src/insets/InsetInclude.h
src/insets/InsetText.cpp

index 75a41c318148f7be6483cabaaccdd3869180b526..eff6fb5bf6ddf77ff495aa1408d3f3eb91beee00 100644 (file)
@@ -1400,6 +1400,16 @@ void InsetInclude::updateCommand()
 }
 
 
+void InsetInclude::updateMacros(DocIterator const & us, DocIterator const & scope)
+{
+       buffer().setMacroLock();
+       loadIfNeeded();
+       buffer().clearMacroLock();
+       if (child_buffer_)
+               buffer().registerChild(child_buffer_, us, scope);
+}
+
+
 void InsetInclude::updateBuffer(ParIterator const & it, UpdateType utype, bool const deleted)
 {
        file_exist_ = includedFileExist();
index a2542543e3be87ba7602749481e8018ccc790b17..046f481151698fe850a4e8efbb34180835a8f3d5 100644 (file)
@@ -106,6 +106,8 @@ public:
        ///
        void updateBuffer(ParIterator const &, UpdateType, bool const deleted = false) override;
        ///
+       void updateMacros(DocIterator const & us, DocIterator const & scope) override;
+       ///
        std::string contextMenuName() const override;
        //@}
 
index 834bf735dfdd0d6cf1406fdabdc74ac69d5903f9..dcf757621e816c70441d86d76c00dd7081e24526 100644 (file)
@@ -948,15 +948,7 @@ void InsetText::updateMacros(DocIterator const & us, DocIterator const & scope)
 
                        // is it an external file?
                        if (insit.inset->lyxCode() == INCLUDE_CODE) {
-                               // get buffer of external file
-                               InsetInclude const & incinset =
-                                       static_cast<InsetInclude const &>(*insit.inset);
-                               buffer().setMacroLock();
-                               Buffer * child = incinset.loadIfNeeded();
-                               buffer().clearMacroLock();
-                               if (!child)
-                                       continue;
-                               buffer().registerChild(child, it, ourscope);
+                               insit.inset->updateMacros(it, ourscope);
                                continue;
                        }