diff --git a/src/BufferView_pimpl.C b/src/BufferView_pimpl.C index cb1048ff52..6bbd7838f3 100644 --- a/src/BufferView_pimpl.C +++ b/src/BufferView_pimpl.C @@ -1035,7 +1035,7 @@ void BufferView::Pimpl::update(LyXText * text, BufferView::UpdateCodes f) text->FullRebreak(bv_); if (text->inset_owner) { -// text->inset_owner->SetUpdateStatus(bv_, InsetText::CURSOR_PAR); + text->inset_owner->SetUpdateStatus(bv_, InsetText::NONE); bv_->updateInset(text->inset_owner, true); } else update(); diff --git a/src/ChangeLog b/src/ChangeLog index 5deb135d63..4ba8e35257 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2001-02-22 Juergen Vigna + + * BufferView_pimpl.C (update): call a status update to see if LyXText + needs it. + 2001-02-20 Juergen Vigna * text2.C (ClearSelection): added BufferView param for inset_owner call diff --git a/src/insets/ChangeLog b/src/insets/ChangeLog index 236d75be33..7b4d58ee99 100644 --- a/src/insets/ChangeLog +++ b/src/insets/ChangeLog @@ -1,6 +1,7 @@ 2001-02-22 Juergen Vigna * insettext.C (getLyXText): honor the recursive parameter. + (SetUpdateStatus): set need_update to CURSOR_PAR if LyXText needs it. * inset.C (getLyXText): added bool recursive parameter. diff --git a/src/insets/insettext.C b/src/insets/insettext.C index da82a432cb..aec6572950 100644 --- a/src/insets/insettext.C +++ b/src/insets/insettext.C @@ -451,6 +451,9 @@ void InsetText::SetUpdateStatus(BufferView * bv, int what) need_update |= what; if (TEXT(bv)->status == LyXText::NEED_MORE_REFRESH) need_update |= FULL; + else if (TEXT(bv)->status == LyXText::NEED_VERY_LITTLE_REFRESH) + need_update |= CURSOR_PAR; + // this to not draw a selection when we redraw all of it! if ((need_update & (INIT|FULL)) && (need_update & CURSOR)) TEXT(bv)->ClearSelection(bv); diff --git a/src/lyxfunc.C b/src/lyxfunc.C index 8449d40b65..3e4ea34e7a 100644 --- a/src/lyxfunc.C +++ b/src/lyxfunc.C @@ -2828,21 +2828,20 @@ string const LyXFunc::Dispatch(int ac, case LFUN_SELFINSERT: { - LyXFont const old_font(TEXT()->real_current_font); + LyXFont const old_font(TEXT(false)->real_current_font); for (string::size_type i = 0; i < argument.length(); ++i) { - TEXT()->InsertChar(owner->view(), argument[i]); + TEXT(false)->InsertChar(owner->view(), argument[i]); // This needs to be in the loop, or else we // won't break lines correctly. (Asger) - owner->view()->update(TEXT(), + owner->view()->update(TEXT(false), BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE); } - TEXT()->sel_cursor = - TEXT()->cursor; - moveCursorUpdate(true, false); + TEXT(false)->sel_cursor = TEXT(false)->cursor; + moveCursorUpdate(false, false); // real_current_font.number can change so we need to // update the minibuffer - if (old_font != TEXT()->real_current_font) + if (old_font != TEXT(false)->real_current_font) owner->showState(); } break;