]> git.lyx.org Git - features.git/blobdiff - src/insets/insettext.C
Fix page up/down behaviour with very high rows. Same for selection with mouse.
[features.git] / src / insets / insettext.C
index b35065af69da726944d5a024d99c452f3b8faa29..4a7bf1f2e3053991386a9a761e8153181c8388d3 100644 (file)
@@ -451,15 +451,20 @@ void InsetText::draw(BufferView * bv, LyXFont const & f,
                first += row->height();
                row = row->next();
        }
-       if (y_offset < 0)
-               y_offset = y;
-       lt->first_y = first;
+       if (y_offset < 0) {
+               lt->first_y = -y_offset;
+               first = y;
+               y_offset = 0;
+       } else {
+               lt->first_y = first;
+               first = 0;
+       }
        if (cleared || (need_update&(INIT|FULL))) {
-               int yf = y_offset;
+               int yf = y_offset + first;
                y = 0;
                while ((row != 0) && (yf < ph)) {
-                       lt->getVisibleRow(bv, y+y_offset, int(x), row,
-                                               y+first, cleared);
+                       lt->getVisibleRow(bv, y+y_offset+first, int(x), row,
+                                               y+lt->first_y, cleared);
                        y += row->height();
                        yf += row->height();
                        row = row->next();