]> git.lyx.org Git - features.git/commitdiff
partial fix for anchor_row problems
authorAndré Pönitz <poenitz@gmx.net>
Fri, 15 Aug 2003 12:53:57 +0000 (12:53 +0000)
committerAndré Pönitz <poenitz@gmx.net>
Fri, 15 Aug 2003 12:53:57 +0000 (12:53 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7554 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/xforms/xscreen.C
src/text2.C

index c917944ad308984a9eaad6845d9b22d6c895d4e2..3ad462e4e824443f748570757219a64aef642637 100644 (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);
 }
index bf67799b0e981779e1e2ccc52c21570afd04460d..b86338ad45a27e2282254cc0fab801f32ab4318e 100644 (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";
 }