]> git.lyx.org Git - features.git/commitdiff
Refactor code to avoid the problem fixed at the last commit.
authorRichard Kimberly Heck <rikiheck@lyx.org>
Sat, 25 Apr 2020 05:11:30 +0000 (01:11 -0400)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Thu, 18 Jun 2020 13:48:57 +0000 (15:48 +0200)
src/Text.cpp

index fa4e2a8c9a4d8964518150246659db886edeb6f8..ac6dda5eb89618b8301d6c8e870256a554abf51b 100644 (file)
@@ -1800,12 +1800,6 @@ bool Text::dissolveInset(Cursor & cur)
        // save position inside inset
        pos_type spos = cur.pos();
        pit_type spit = cur.pit();
-       ParagraphList plist;
-       if (cur.lastpit() != 0 || cur.lastpos() != 0) {
-               plist = paragraphs();
-               for (auto & p : plist)
-                       p.setInsetBuffers(*cur.buffer());
-       }
        cur.popBackward();
        // update cursor offset
        if (spit == 0)
@@ -1818,7 +1812,8 @@ bool Text::dissolveInset(Cursor & cur)
        ++cur.pos();
 
        Buffer & b = *cur.buffer();
-       if (!plist.empty()) {
+       // Is there anything in this text?
+       if (cur.lastpit() != 0 || cur.lastpos() != 0) {
                // see bug 7319
                // we clear the cache so that we won't get conflicts with labels
                // that get pasted into the buffer. we should update this before
@@ -1828,6 +1823,7 @@ bool Text::dissolveInset(Cursor & cur)
                // but we'll try the cheaper solution here.
                cur.buffer()->clearReferenceCache();
 
+               ParagraphList & plist = paragraphs();
                if (!lyxrc.ct_markup_copied)
                        // Do not revive deleted text
                        lyx::acceptChanges(plist, b.params());