commit 69c46c56fe7c1f67ea89c3863fd19299fa335b65
Author: Jean-Marc Lasgouttes <lasgout...@lyx.org>
Date:   Thu Dec 10 18:34:07 2020 +0100

    Preserve paragraph depth when dissolving.
    
    It turns out that makeSameLayout() does more than we want.
    
    Fixes bug #11981.
---
 src/Text.cpp |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/Text.cpp b/src/Text.cpp
index d1e0d9a..d227bd5 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"));
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to