]> git.lyx.org Git - features.git/commitdiff
When checking inset activity status, also check containing insets
authorJuergen Spitzmueller <spitz@lyx.org>
Sun, 30 Dec 2018 17:27:28 +0000 (18:27 +0100)
committerJuergen Spitzmueller <spitz@lyx.org>
Sun, 30 Dec 2018 17:27:28 +0000 (18:27 +0100)
which could be deteled

src/insets/InsetLabel.cpp

index f6538f4c45429b45b676a24aa3c50f00a4e77af6..c3bf43f1176fa3f24ac4e35ff8af6236212d3f07 100644 (file)
@@ -148,7 +148,17 @@ void InsetLabel::updateBuffer(ParIterator const & par, UpdateType utype)
 
        // Check if this one is deleted (ct)
        Paragraph const & para = par.paragraph();
 
        // 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!
 
        if (buffer().activeLabel(label) && active) {
                // Problem: We already have an active InsetLabel with the same name!