From 2a03c77dbc9587ab33f7e0a2cd0764cd3158a2b1 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Fri, 23 Dec 2011 09:44:44 +0000 Subject: [PATCH] Improve fix to bug #7909 (backport of r40505). No status entry necessary. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@40543 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/BufferView.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/BufferView.cpp b/src/BufferView.cpp index 1c0ff18db4..88cd94d389 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -1709,10 +1709,11 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) //FIXME: what to do with cur.x_target()? bool update = in_texted && cur.bv().checkDepm(cur, old); cur.finishUndo(); - if (update || cur.selection()) { - dr.screenUpdate(Update::Force | Update::FitCursor); + + if (update || cur.mark()) + dr.screenUpdate(Update::Force | Update::FitCursor); + if (update) dr.forceBufferUpdate(); - } break; } @@ -1722,6 +1723,7 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) break; case LFUN_SCREEN_UP_SELECT: { + // FIXME: why is the algorithm different from LFUN_SCREEN_UP? cur.selHandle(true); if (isTopScreen()) { lyx::dispatch(FuncRequest(LFUN_BUFFER_BEGIN_SELECT)); @@ -1739,6 +1741,7 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr) } case LFUN_SCREEN_DOWN_SELECT: { + // FIXME: why is the algorithm different from LFUN_SCREEN_DOWN? cur.selHandle(true); if (isBottomScreen()) { lyx::dispatch(FuncRequest(LFUN_BUFFER_END_SELECT)); -- 2.39.5