]> git.lyx.org Git - features.git/commitdiff
Improve fix to bug #7909 (backport of r40505).
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 23 Dec 2011 09:44:44 +0000 (09:44 +0000)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 23 Dec 2011 09:44:44 +0000 (09:44 +0000)
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

index 1c0ff18db4a04c5a6a6f576ce4ec7b8540da6021..88cd94d389b3be1193838e639cacb35c20a91b18 100644 (file)
@@ -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));