X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferView.cpp;h=84194605a59200d3a6f816f22aa40e02d73e6720;hb=a213faf20adbb99c8d76a8038c59329425812fd1;hp=daa05a60d939b033bea992e36c88eabd920a3eb7;hpb=21c5bbec71b7a8a191e10be68396ccef49909c7b;p=lyx.git diff --git a/src/BufferView.cpp b/src/BufferView.cpp index daa05a60d9..84194605a5 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -1513,8 +1513,14 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) docstring const data = find2string(searched_string, true, false, fw); bool found = lyxfind(this, FuncRequest(LFUN_WORD_FIND, data)); - if (found) + if (found) { dr.screenUpdate(Update::Force | Update::FitCursor); + cur.dispatched(); + dispatched = true; + } else { + cur.undispatched(); + dispatched = false; + } break; } @@ -1526,10 +1532,14 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) lyx::dispatch(FuncRequest(LFUN_DIALOG_SHOW, "findreplace")); break; } - if (lyxfind(this, req)) + if (lyxfind(this, req)) { dr.screenUpdate(Update::Force | Update::FitCursor); - else - message(_("String not found.")); + cur.dispatched(); + dispatched = true; + } else { + cur.undispatched(); + dispatched = false; + } d->search_request_cache_ = req; break; } @@ -1551,6 +1561,11 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) if (lyxreplace(this, cmd, has_deleted)) { dr.forceBufferUpdate(); dr.screenUpdate(Update::Force | Update::FitCursor); + cur.dispatched(); + dispatched = true; + } else { + cur.undispatched(); + dispatched = false; } break; } @@ -2400,9 +2415,12 @@ bool BufferView::checkDepm(Cursor & cur, Cursor & old) return false; d->cursor_ = cur; + + // we would rather not do this here, but it needs to be done before + // the changed() signal is sent. + buffer_.updateBuffer(); - cur.forceBufferUpdate(); - cur.screenUpdateFlags(Update::Force); + buffer_.changed(true); return true; }