{
LyXText::text_status st = bv_->text->status();
screen_->update(bv_->text, bv_);
+ bool fitc = false;
while(bv_->text->status() == LyXText::CHANGED_IN_DRAW) {
if (bv_->text->fullRebreak(bv_)) {
st = LyXText::NEED_MORE_REFRESH;
bv_->text->setCursor(bv_, bv_->text->cursor.par(),
bv_->text->cursor.pos());
- fitCursor();
+ fitc = true;
}
bv_->text->status(bv_, st);
screen_->update(bv_->text, bv_);
}
+ if (fitc)
+ fitCursor();
}
}
+2001-08-03 Juergen Vigna <jug@sad.it>
+
+ * BufferView_pimpl.C (update): do the fitCursor only at the end!
+
+ * screen.C (drawFromTo): don't call fitcursor here and do the loop
+ only if status not is already CHANGED_IN_DRAW (second level).
+
+ * text.C (draw): don't set the need_break_row when inside an
+ InsetText LyXText.
+
2001-08-02 Lars Gullik Bjønnes <larsbj@birdstep.com>
* buffer.C (parseSingleLyXformat2Token): handle more latex
LyXText::text_status st = text->status();
text->getVisibleRow(bv, y + y_offset,
x_offset, row, y + text->first);
+ internal = internal && (st != LyXText::CHANGED_IN_DRAW);
while(internal && text->status() == LyXText::CHANGED_IN_DRAW) {
if (text->fullRebreak(bv)) {
st = LyXText::NEED_MORE_REFRESH;
text->setCursor(bv, text->cursor.par(), text->cursor.pos());
- bv->fitCursor();
}
text->status(bv, st);
text->getVisibleRow(bv, y + y_offset,
tmpinset->update(bview, font, false);
tmpinset->draw(bview, font, offset+row->baseline(), x,
cleared);
- if (!need_break_row &&
+ if (!need_break_row && !inset_owner &&
bview->text->status() == CHANGED_IN_DRAW)
{
if (row->previous() && row->previous()->par() == row->par())