commit 5cfd2569742985e607da0ead5f549483a294fba6
Author: Juergen Spitzmueller <[email protected]>
Date:   Sun Dec 30 18:27:28 2018 +0100

    When checking inset activity status, also check containing insets
    
    which could be deteled
---
 src/insets/InsetLabel.cpp |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/src/insets/InsetLabel.cpp b/src/insets/InsetLabel.cpp
index f6538f4..c3bf43f 100644
--- a/src/insets/InsetLabel.cpp
+++ b/src/insets/InsetLabel.cpp
@@ -148,7 +148,17 @@ void InsetLabel::updateBuffer(ParIterator const & par, 
UpdateType utype)
 
        // Check if this one is deleted (ct)
        Paragraph const & para = par.paragraph();
-       bool const active = !para.isDeleted(par.pos());
+       bool active = !para.isDeleted(par.pos());
+       // If not, check whether we are in a deleted 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())) {
+                               active = false;
+                               break;
+                       }
+               }
+       }
 
        if (buffer().activeLabel(label) && active) {
                // Problem: We already have an active InsetLabel with the same 
name!

Reply via email to