]> git.lyx.org Git - features.git/commitdiff
Fixup e1be71da: do not enforce plain layout when dissolving
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 6 Dec 2019 09:20:18 +0000 (10:20 +0100)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Thu, 18 Jun 2020 13:48:46 +0000 (15:48 +0200)
Instead of checking whether the dissolved inset enforces plain layout,
it is better to check whether is uses plain layout.

Fixes #10369.

src/Text.cpp

index 1fdef6e2df3dfa3a3d596852097e8196956be16c..e060a6c9dd6d69e2dbf95f819063ae8f9bf23a6d 100644 (file)
@@ -1820,14 +1820,16 @@ bool Text::dissolveInset(Cursor & cur)
                for (; it != it_end; ++it)
                        it->changeLanguage(b.params(), latex_language, b.language());
 
-               /* the inset is the only thing in paragraph, then the layout
-                * of the first paragraph of inset should be remembered.
+               /* If the inset is the only thing in paragraph and the layout
+                * is not plain, then the layout of the first paragraph of
+                * inset should be remembered.
                 * FIXME: this does not work as expected when change tracking
                 *   is on However, we do not really know what to do in this
                 *   case.
                 */
+               DocumentClass const & tclass = cur.buffer()->params().documentClass();
                if (inset_it.lastpos() == 1
-                   && inset_it.nextInset() && !inset_it.nextInset()->forcePlainLayout())
+                   && plist[0].layout().name() != tclass.plainLayoutName())
                        cur.paragraph().makeSameLayout(plist[0]);
 
                pasteParagraphList(cur, plist, b.params().documentClassPtr(),