Fixup e1be71da: do not enforce plain layout when dissolving

Instead of checking whether the dissolved inset enforces plain layout,
it is better to check whether is uses plain layout.

Fixes #10369.
This commit is contained in:
Jean-Marc Lasgouttes 2019-12-06 10:20:18 +01:00
parent 5ac3b88007
commit 2e784b2f06

View 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(),