]> git.lyx.org Git - features.git/commitdiff
Fix bug #8891 (wrong depth of copied text)
authorGeorg Baum <baum@lyx.org>
Sat, 22 Feb 2014 10:02:50 +0000 (11:02 +0100)
committerGeorg Baum <baum@lyx.org>
Sat, 22 Feb 2014 10:02:50 +0000 (11:02 +0100)
This was an obvious thinko: When pasting a paragraph list the depth of the
pasted paragraphs need to be adjusted, so that no paragraph has a negative
depth afterwards. However, the maximum allowed depth was only adjusted after
the second and following pasted paragraphs. Since the computed value was only
used for the subsequent paragrph this meant that the second paragraph did
still use the same maximum allowed depth as the first one, which came from the
paragraph the text as pasted into. This was wrong e.g. in case the outside
paragraph was a standard paragraph (max_depth = 0), and the first pasted
paragraph was an enumeration (max_depth = 1). Therefore, max_depth needs to
be adjusted also after the first pasted paragaph. Since the adjustment is
done aftre max_depth was used for the current paragraph the condition
mentioned in the comment is still met.

src/CutAndPaste.cpp

index 844a119ca25dd5ffb2375b3aabd6524773ed8187..9e7ddd31feaf3987bc393ec33b7fa572e48f2cd2 100644 (file)
@@ -209,10 +209,8 @@ pasteSelectionHelper(DocIterator const & cur, ParagraphList const & parlist,
                if (tmpbuf->params().depth() > max_depth)
                        tmpbuf->params().depth(max_depth);
 
-               // Only set this from the 2nd on as the 2nd depends
-               // for maxDepth still on pit.
-               if (tmpbuf != insertion.begin())
-                       max_depth = tmpbuf->getMaxDepthAfter();
+               // Set max_depth for the next paragraph
+               max_depth = tmpbuf->getMaxDepthAfter();
 
                // Set the inset owner of this paragraph.
                tmpbuf->setInsetOwner(target_inset);