]> git.lyx.org Git - features.git/commitdiff
Honor scroll_below_document when jumping to end of document
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Tue, 11 Jul 2023 20:26:00 +0000 (22:26 +0200)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Tue, 18 Jul 2023 19:03:00 +0000 (21:03 +0200)
While fixing #12491 at 0fed10e4, some band-aids were removed at the
end of `BufferView::scrollToBuffer`. One of them ensured that
scrolling to last paragraph would not leave the last row alone on
screen.

This behavior is actually correct when the scroll_below_document pref is true.

This commit restores the test that avoids the issue.

Of course, this does not fix the real issue, since for example opening
Tutorial.lyx and jumping to "5.3 Errors!" produces the same unwanted
effect.

src/BufferView.cpp

index 15911e8ff3a651745e28dbfbd8e392a26435a707..85f1e61f9f80ef6ca47ff381dc9c13ac7e75a8b1 100644 (file)
@@ -1077,6 +1077,8 @@ bool BufferView::scrollToCursor(DocIterator const & dit, ScrollType how)
        d->anchor_ypos_ = - offset + row_dim.ascent();
        if (how == SCROLL_CENTER)
                d->anchor_ypos_ += height_/2 - row_dim.height() / 2;
+       else if (!lyxrc.scroll_below_document && d->anchor_pit_ == max_pit)
+               d->anchor_ypos_ = height_ - offset - row_dim.descent();
        return d->anchor_ypos_ != old_ypos || d->anchor_pit_ != old_pit;
 }