From: Jean-Marc Lasgouttes Date: Fri, 23 Dec 2011 09:44:44 +0000 (+0000) Subject: Improve fix to bug #7909 (backport of r40505). X-Git-Tag: 2.0.3~102 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=2a03c77dbc9587ab33f7e0a2cd0764cd3158a2b1;p=features.git 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 --- 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));