On 1/28/21 5:28 AM, Jean-Marc Lasgouttes wrote:
commit f3a0e8ff9a9b914d40eb520bb31674d1ad4eb0d0
Author: Jean-Marc Lasgouttes <lasgout...@lyx.org>
Date:   Thu Jan 28 10:10:18 2021 +0100

     Run updateBuffer when adding/merging changes
Following 4a4ded22, the enabling of some change-related functions is
     handled in updateBuffer. However, this method is not ran at every
     document change for performance reasons.
This patch adds code to every place that modifies
     Paragraph::Private::changes_ that checks whether the `changedness' of
     the paragraph, err... changes.
To this end, a new helper struct is introduced that remembers
     paragraph state at contruction time, and compares it to new state in
     the destructor.
New forceUpdate/needUpdate methods are added to Buffer class, since
     the cursor is in general not available in the places where these
     changes are made.
Fixes bug #12074.
---
  src/Buffer.cpp     |   17 ++++++++++++-
  src/Buffer.h       |    6 ++++-
  src/BufferView.cpp |    2 +-
  src/Paragraph.cpp  |   69 ++++++++++++++++++++++++++++++++++++++++++++++++++++
  4 files changed, 91 insertions(+), 3 deletions(-)

diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 6454ba3..f2a3702 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index ec89084..8094c64 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -2417,7 +2417,7 @@ void BufferView::mouseEventDispatch(FuncRequest const & 
cmd0)
        // Do we have a selection?
        theSelection().haveSelection(cursor().selection());
- if (cur.needBufferUpdate()) {
+       if (cur.needBufferUpdate() || buffer().needUpdate()) {
                cur.clearBufferUpdate();

Shouldn't the Buffer::updateBuffer_ member also be reset here?

Riki


--
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to