]> git.lyx.org Git - lyx.git/blobdiff - src/rowpainter.cpp
Fix compilation on win
[lyx.git] / src / rowpainter.cpp
index 46544b3256826cbc9ee808a309e2255a7066e3ee..5c8f694b505117316ad526b4838715663641ab5f 100644 (file)
@@ -328,6 +328,13 @@ void RowPainter::paintForeignMark(double orig_x, Language const * lang,
 }
 
 
+void RowPainter::paintMisspelledMark(double orig_x, int desc)
+{
+       int const y = yo_ + desc;
+       pi_.pain.wavyHorizontalLine(int(orig_x), y, int(x_) - int(orig_x), Color_red);
+}
+
+
 void RowPainter::paintFromPos(pos_type & vpos)
 {
        pos_type const pos = bidi_.vis2log(vpos);
@@ -355,6 +362,9 @@ void RowPainter::paintFromPos(pos_type & vpos)
        }
 
        paintForeignMark(orig_x, orig_font.language());
+
+       if (orig_font.isMisspelled())
+               paintMisspelledMark(orig_x, 3);
 }
 
 
@@ -655,15 +665,17 @@ void RowPainter::paintLast()
 
 void RowPainter::paintOnlyInsets()
 {
+       CoordCache const & cache = pi_.base.bv->coordCache();
        pos_type const end = row_.endpos();
        for (pos_type pos = row_.pos(); pos != end; ++pos) {
                // If outer row has changed, nested insets are repaint completely.
                Inset const * inset = par_.getInset(pos);
                if (!inset)
                        continue;
-               if (x_ > pi_.base.bv->workWidth())
+               if (x_ > pi_.base.bv->workWidth() 
+                   || !cache.getInsets().has(inset))
                        continue;
-               x_ = pi_.base.bv->coordCache().getInsets().x(inset);
+               x_ = cache.getInsets().x(inset);
 
                bool const pi_selected = pi_.selected;
                Cursor const & cur = pi_.base.bv->cursor();
@@ -760,7 +772,7 @@ void RowPainter::paintText()
 
                Inset const * inset = par_.getInset(pos);
                bool const highly_editable_inset = inset
-                       && inset->editable() == Inset::HIGHLY_EDITABLE;
+                       && inset->editable();
 
                // If we reach the end of a change or if the author changes, paint it.
                // We also don't paint across things like tables