]> git.lyx.org Git - lyx.git/blobdiff - src/text.C
Dekel's patch -- I didn't fix the xforms-0.88 keysyms stuff so it still doesn't finis...
[lyx.git] / src / text.C
index 3008be0676e5b98c3e98202032f15ff9664761a9..a18b7b6a109e079dd542fcd8548b0db91e7c25a6 100644 (file)
@@ -330,7 +330,8 @@ void LyXText::ComputeBidiTables(Buffer const * buf, Row * row) const
        }
 
        LyXParagraph::size_type vpos = bidi_start - 1;
-       for (LyXParagraph::size_type lpos = bidi_start; lpos <= bidi_end; ++lpos) {
+       for (LyXParagraph::size_type lpos = bidi_start;
+            lpos <= bidi_end; ++lpos) {
                vpos += log2vis_list[lpos - bidi_start];
                vis2log_list[vpos - bidi_start] = lpos;
                log2vis_list[lpos - bidi_start] = vpos;
@@ -516,8 +517,10 @@ void LyXText::draw(BufferView * bview, Row const * row,
 //                     tmpinset->update(bview, font, false);
                        tmpinset->draw(bview, font, offset+row->baseline(), x,
                                       cleared);
-                       if (status == CHANGED_IN_DRAW)
+                       if (status == CHANGED_IN_DRAW) {
                                UpdateInset(bview, tmpinset);
+                               status = CHANGED_IN_DRAW;
+                       }
                }
                ++vpos;
 
@@ -3035,9 +3038,10 @@ void LyXText::PrepareToPrint(BufferView * bview,
 #endif
           
        // center displayed insets 
+       Inset * inset;
           if (row->par()->GetChar(row->pos()) == LyXParagraph::META_INSET
-              && row->par()->GetInset(row->pos())
-              && row->par()->GetInset(row->pos())->display())
+              && (inset=row->par()->GetInset(row->pos()))
+              && (inset->display())) // || (inset->scroll() < 0)))
             align = LYX_ALIGN_CENTER;
 
           switch (align) {
@@ -3952,7 +3956,7 @@ void LyXText::GetVisibleRow(BufferView * bview, int y_offset, int x_offset,
                                w = inset_owner->width(bview, font);
                        else
                                w = ww;
-                       pain.fillRectangle(x_offset,h, w, row_ptr->height()-h);
+                       pain.fillRectangle(x_offset,y_offset+h, w, row_ptr->height()-h);
                }
                if (!inset_owner && !inset->display() && !inset->needFullRow())
                {