]> git.lyx.org Git - lyx.git/blobdiff - src/CutAndPaste.C
* src/CutAndPaste.C: use const_iterator to access paragraph insetlist
[lyx.git] / src / CutAndPaste.C
index 0272f978b5319a1af72afb0174c354d8b994e822..c2ddae5c60dfcd7720ca3933fb553b34cf921502 100644 (file)
@@ -210,8 +210,8 @@ pasteSelectionHelper(LCursor & cur, ParagraphList const & parlist,
        ParIterator fend = par_iterator_end(in);
 
        for (; fpit != fend; ++fpit) {
-               InsetList::iterator lit = fpit->insetlist.begin();
-               InsetList::iterator eit = fpit->insetlist.end();
+               InsetList::const_iterator lit = fpit->insetlist.begin();
+               InsetList::const_iterator eit = fpit->insetlist.end();
 
                for (; lit != eit; ++lit) {
                        switch (lit->inset->lyxCode()) {
@@ -297,18 +297,11 @@ PitPosPair eraseSelectionHelper(BufferParams const & params,
                pos_type const left  = (pit == startpit ? startpos : 0);
                pos_type const right = (pit == endpit ? endpos : pars[pit].size() + 1);
 
+               bool const merge = pars[pit].isMergedOnEndOfParDeletion(params.trackChanges);
+
                // Logically erase only, including the end-of-paragraph character
                pars[pit].eraseChars(left, right, params.trackChanges);
 
-               // A paragraph break has to be physically removed by merging only
-               // if either (1) change tracking is off, or (2) the imaginary 
-               // end-of-paragraph character is marked as inserted even after
-               // the erase operation (please see Paragraph::Pimpl::eraseChar(...)
-               // for details on end-of-par handling)
-
-               bool const merge = !params.trackChanges ||
-                                  pars[pit].isInserted(pars[pit].size());
-
                // Separate handling of paragraph break:
                if (merge && pit != endpit &&
                    (pit + 1 != endpit || pars[pit].hasSameLayout(pars[pit + 1]))) {