]> git.lyx.org Git - lyx.git/blobdiff - src/paragraph_funcs.C
Fix bug 2485 and crash on middle mouse paste on math
[lyx.git] / src / paragraph_funcs.C
index b5b43d87d7860b2eda1db9f336764bdedf6b2590..5f67d40469a94e6a207dc4588ee97baf34d46e3c 100644 (file)
@@ -96,7 +96,8 @@ void breakParagraph(BufferParams const & bparams,
 {
        // create a new paragraph, and insert into the list
        ParagraphList::iterator tmp =
-               pars.insert(pars.begin() + par_offset + 1, Paragraph());
+               pars.insert(boost::next(pars.begin(), par_offset + 1),
+                           Paragraph());
 
        Paragraph & par = pars[par_offset];
 
@@ -119,6 +120,7 @@ void breakParagraph(BufferParams const & bparams,
        if (flag) {
                tmp->layout(par.layout());
                tmp->setLabelWidthString(par.params().labelWidthString());
+               tmp->params().depth(par.params().depth());
        }
 
        bool const isempty = (par.allowEmpty() && par.empty());
@@ -166,11 +168,11 @@ void breakParagraph(BufferParams const & bparams,
                return;
        }
 
-        if (!isempty) {
-                par.params().clear();
-                par.layout(bparams.getLyXTextClass().defaultLayout());
-        }
-        
+       if (!isempty) {
+               par.params().clear();
+               par.layout(bparams.getLyXTextClass().defaultLayout());
+       }
+
        // layout stays the same with latex-environments
        if (flag) {
                par.layout(tmp->layout());
@@ -193,7 +195,8 @@ void breakParagraphConservative(BufferParams const & bparams,
        ParagraphList & pars, pit_type par_offset, pos_type pos)
 {
        // create a new paragraph
-       Paragraph & tmp = *pars.insert(pars.begin() + par_offset + 1, Paragraph());
+       Paragraph & tmp = *pars.insert(boost::next(pars.begin(), par_offset + 1),
+                                      Paragraph());
        Paragraph & par = pars[par_offset];
 
        if (bparams.tracking_changes)
@@ -259,7 +262,7 @@ void mergeParagraph(BufferParams const & bparams,
        // Move the change status of "carriage return" over
        par.setChange(par.size(), cr);
 
-       pars.erase(pars.begin() + par_offset + 1);
+       pars.erase(boost::next(pars.begin(), par_offset + 1));
 }