]> git.lyx.org Git - lyx.git/blobdiff - src/text2.C
don't rm emergency saves ever
[lyx.git] / src / text2.C
index c7babeb609ecf9f262e0211f224fd09dc28293e4..2580ec7c6b1e5168c7b80ad0b48864bb786527fe 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "insets/insetbibitem.h"
 #include "insets/insetfloat.h"
+#include "insets/insetwrap.h"
 
 #include "support/LAssert.h"
 #include "support/textutils.h"
@@ -504,10 +505,10 @@ bool LyXText::changeDepth(bv_funcs::DEPTH_CHANGE type, bool test_only)
 
        // Wow, redoParagraphs is stupid.
        LyXCursor tmpcursor;
-       setCursor(tmpcursor, &(*start), 0);
+       setCursor(tmpcursor, start, 0);
 
        //redoParagraphs(tmpcursor, &(*pastend));
-       redoParagraphs(tmpcursor, &(*pastend));
+       redoParagraphs(tmpcursor, pastend);
 
        // We need to actually move the text->cursor. I don't
        // understand why ...
@@ -963,7 +964,7 @@ void LyXText::setParagraph(bool line_top, bool line_bottom,
                        ++endpit;
                        undoendpit = endpit;
                }
-       } else if (endpit!= pars_end) {
+       } else if (endpit != pars_end) {
                // because of parindents etc.
                ++endpit;
        }
@@ -1173,8 +1174,16 @@ void LyXText::setCounter(Buffer const * buf, ParagraphList::iterator pit)
                        }
 
                        if (isOK) {
-                               Floating const & fl
-                                       = textclass.floats().getType(static_cast<InsetFloat*>(in)->type());
+                               string type;
+
+                               if (in->lyxCode() == Inset::FLOAT_CODE)
+                                       type = static_cast<InsetFloat*>(in)->params().type;
+                               else if (in->lyxCode() == Inset::WRAP_CODE)
+                                       type = static_cast<InsetWrap*>(in)->params().type;
+                               else
+                                       lyx::Assert(0);
+
+                               Floating const & fl = textclass.floats().getType(type);
 
                                textclass.counters().step(fl.type());
 
@@ -1386,11 +1395,11 @@ void LyXText::pasteSelection()
        ParagraphList::iterator endpit;
        PitPosPair ppp;
 
-       boost::tie(ppp, endpit) = 
-               CutAndPaste::pasteSelection(ownerParagraphs(), 
-                                           cursor.par(), cursor.pos(), 
+       boost::tie(ppp, endpit) =
+               CutAndPaste::pasteSelection(ownerParagraphs(),
+                                           cursor.par(), cursor.pos(),
                                            bv()->buffer()->params.textclass);
-       
+
        redoParagraphs(cursor, endpit);
 
        setCursor(cursor.par(), cursor.pos());
@@ -1863,7 +1872,7 @@ LyXText::getColumnNearX(RowList::iterator rit, int & x, bool & boundary) const
                if (body_pos > 0 && c == body_pos - 1) {
                        tmpx += fill_label_hfill +
                                font_metrics::width(layout->labelsep,
-                                              getLabelFont(bv()->buffer(), &*rit_par));
+                                              getLabelFont(bv()->buffer(), rit_par));
                        if (rit_par->isLineSeparator(body_pos - 1))
                                tmpx -= singleWidth(rit_par, body_pos - 1);
                }