partial fix for anchor_row problems

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7554 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
André Pönitz 2003-08-15 12:53:57 +00:00
parent c83eaea4d2
commit 9a7cef54a6
2 changed files with 12 additions and 5 deletions

View File

@ -173,12 +173,11 @@ void XScreen::expose(int x, int y, int w, int h)
void XScreen::draw(LyXText * text, BufferView * bv, unsigned int y)
{
int const old_first = text->top_y();
text->top_y(y);
// make a dumb new-draw
drawFromTo(text, bv, 0, owner_.workHeight(), 0, 0);
expose(0, 0, owner_.workWidth(), owner_.workHeight());
//drawFromTo(text, bv, 0, owner_.workHeight(), 0, 0);
//expose(0, 0, owner_.workWidth(), owner_.workHeight());
XSync(fl_get_display(), 0);
}

View File

@ -559,9 +559,10 @@ void LyXText::redoParagraph(ParagraphList::iterator pit)
RowList::iterator end = pit->rows.end();
// remove rows of paragraph
for ( ; rit != end; ++rit) {
int anchor_cnt = -1;
for (int i = 0; rit != end; ++rit, ++i) {
if (rit == anchor_row_)
anchor_row_ = endRow();
anchor_cnt = i;
height -= rit->height();
}
pit->rows.clear();
@ -588,6 +589,13 @@ void LyXText::redoParagraph(ParagraphList::iterator pit)
setHeightOfRow(pit, tmprow);
}
if (anchor_cnt == -1) {
if (anchor_cnt >= pit->rows.size())
anchor_cnt = pit->rows.size();
anchor_row_ = pit->rows.begin();
advance(anchor_row_, anchor_cnt);
}
//lyxerr << "redoParagraph: " << pit->rows.size() << " rows\n";
}