]> git.lyx.org Git - features.git/commitdiff
Fixed redraw problems after undo/redo.
authorJürgen Vigna <jug@sad.it>
Thu, 14 Mar 2002 15:28:44 +0000 (15:28 +0000)
committerJürgen Vigna <jug@sad.it>
Thu, 14 Mar 2002 15:28:44 +0000 (15:28 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3754 a592a061-630c-0410-9148-cb99ea01b6c8

src/ChangeLog
src/undo_funcs.C

index c48018e2b8304ff78af565630bbd279528696a0c..bbb93c56da6a48cfbf4d16e39587608041ee9f1c 100644 (file)
@@ -1,5 +1,8 @@
 2002-03-14  Juergen Vigna  <jug@sad.it>
 
+       * undo_funcs.C (textHandleUndo): do the right thing when updating
+       the inset after the undo/redo.
+
        * text2.C (setCursor): just some testcode for #44 not ready yet.
 
        * undo_funcs.C (textHandleUndo): set the next() and previous()
index 8862b76d2590e09718f6c366326655438e82f1bc..b988b6787118c7d56b948a664e4a88bcf1565e0c 100644 (file)
@@ -230,16 +230,6 @@ bool textHandleUndo(BufferView * bv, Undo * undo)
                        it->getLyXText(bv)->redoParagraphs(bv,
                                                           it->getLyXText(bv)->cursor,
                                                           endpar);
-                       LyXFont font;
-                       it->update(bv, font, false);
-                       // we now would have to rebreak the whole paragraph the
-                       // undo-par was in. How we do it here is not really true.
-                       // We would have to save this information in the undo-struct
-                       // and then we could do the right rebreak. Here we only
-                       // handle the case where this was in the actual paragraph,
-                       // which not always is true.
-                       bv->text->redoParagraphs(bv, bv->text->cursor,
-                                                bv->text->cursor.par());
                        if (tmppar) {
                                it = static_cast<UpdatableInset*>(tmppar->inInset());
                                LyXText * t;
@@ -251,7 +241,9 @@ bool textHandleUndo(BufferView * bv, Undo * undo)
                                }
                                t->setCursorIntern(bv, tmppar, undo->cursor_pos);
                                t->updateCounters(bv, t->cursor.row());
+                               bv->fitCursor();
                        }
+                       bv->updateInset(it, false);
                        bv->text->setCursorIntern(bv, bv->text->cursor.par(),
                                                  bv->text->cursor.pos());
                } else {