From: Jean-Marc Lasgouttes Date: Thu, 10 Dec 2020 17:34:07 +0000 (+0100) Subject: Preserve paragraph depth when dissolving. X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=69c46c56fe7c1f67ea89c3863fd19299fa335b65;p=features.git Preserve paragraph depth when dissolving. It turns out that makeSameLayout() does more than we want. Fixes bug #11981. --- diff --git a/src/Text.cpp b/src/Text.cpp index d1e0d9abd0..d227bd5cd5 100644 --- a/src/Text.cpp +++ b/src/Text.cpp @@ -1868,9 +1868,15 @@ bool Text::dissolveInset(Cursor & cur) */ DocumentClass const & tclass = cur.buffer()->params().documentClass(); if (inset_it.lastpos() == 1 - && !tclass.isPlainLayout(plist[0].layout()) - && !tclass.isDefaultLayout(plist[0].layout())) - cur.paragraph().makeSameLayout(plist[0]); + && !tclass.isPlainLayout(plist[0].layout()) + && !tclass.isDefaultLayout(plist[0].layout())) { + // Copy all parameters except depth. + Paragraph & par = cur.paragraph(); + par.setLayout(plist[0].layout()); + depth_type const dpth = par.getDepth(); + par.params() = plist[0].params(); + par.params().depth(dpth); + } pasteParagraphList(cur, plist, b.params().documentClassPtr(), b.errorList("Paste"));