From: Richard Kimberly Heck Date: Thu, 12 Nov 2020 22:48:51 +0000 (-0500) Subject: Move updateMacros code to InsetInclude. X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=a946efe7590de26c79e48fed552d5689f65cd763;p=features.git Move updateMacros code to InsetInclude. --- diff --git a/src/insets/InsetInclude.cpp b/src/insets/InsetInclude.cpp index 75a41c3181..eff6fb5bf6 100644 --- a/src/insets/InsetInclude.cpp +++ b/src/insets/InsetInclude.cpp @@ -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(); diff --git a/src/insets/InsetInclude.h b/src/insets/InsetInclude.h index a2542543e3..046f481151 100644 --- a/src/insets/InsetInclude.h +++ b/src/insets/InsetInclude.h @@ -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; //@} diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp index 834bf735df..dcf757621e 100644 --- a/src/insets/InsetText.cpp +++ b/src/insets/InsetText.cpp @@ -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(*insit.inset); - buffer().setMacroLock(); - Buffer * child = incinset.loadIfNeeded(); - buffer().clearMacroLock(); - if (!child) - continue; - buffer().registerChild(child, it, ourscope); + insit.inset->updateMacros(it, ourscope); continue; }