From: Juergen Spitzmueller Date: Mon, 31 Dec 2018 17:32:38 +0000 (+0100) Subject: Mark labels in non-outputting insets as inactive. X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=e3027b36868f99df33f7cd13183d7dea31567612;p=features.git Mark labels in non-outputting insets as inactive. Fixes: #11437 --- diff --git a/src/insets/InsetLabel.cpp b/src/insets/InsetLabel.cpp index cb419f397d..768d8293dc 100644 --- a/src/insets/InsetLabel.cpp +++ b/src/insets/InsetLabel.cpp @@ -146,14 +146,16 @@ void InsetLabel::updateBuffer(ParIterator const & par, UpdateType utype) { docstring const & label = getParam("name"); - // Check if this one is deleted (ct) + // Check if this one is active (i.e., neither deleted with change-tracking + // nor in an inset that does not produce output, such as notes or inactive branches) Paragraph const & para = par.paragraph(); - bool active = !para.isDeleted(par.pos()); - // If not, check whether we are in a deleted inset + bool active = !para.isDeleted(par.pos()) && para.inInset().producesOutput(); + // If not, check whether we are in a deleted/non-outputting inset if (active) { for (size_type sl = 0 ; sl < par.depth() ; ++sl) { Paragraph const & outer_par = par[sl].paragraph(); - if (outer_par.isDeleted(par[sl].pos())) { + if (outer_par.isDeleted(par[sl].pos()) + || !outer_par.inInset().producesOutput()) { active = false; break; }