Fix vertical_scroll_margin
not being capped for large vertical_scroll_margin
values (#15473)
When switching to function definitions in a new buffer the `AutoscrollStrategy::Focused` being emitted to scroll to the found location. If a large value `vertical_scroll_margin` (e.g.: 99) is set, this leads to an incorrectly calculated position and the new buffer opens in the wrong place. In `autoscroll_vertically()` there is a margin calculated to cap the value of `vertical_scroll_margin` for certain AutoscrollStrategies. This margin is being used in `AutoscrollStrategy::Fit` and `AutoscrollStrategy::Newest` but was probably forgotten for `AutoscrollStrategy::Focused`. - Might fix [#15101](https://github.com/zed-industries/zed/issues/15101) Release Notes: - N/A
This commit is contained in:
parent
06833d7360
commit
e783142528
1 changed files with 2 additions and 2 deletions
|
@ -189,8 +189,8 @@ impl Editor {
|
|||
self.set_scroll_position_internal(scroll_position, local, true, cx);
|
||||
}
|
||||
AutoscrollStrategy::Focused => {
|
||||
scroll_position.y =
|
||||
(target_top - self.scroll_manager.vertical_scroll_margin).max(0.0);
|
||||
let margin = margin.min(self.scroll_manager.vertical_scroll_margin);
|
||||
scroll_position.y = (target_top - margin).max(0.0);
|
||||
self.set_scroll_position_internal(scroll_position, local, true, cx);
|
||||
}
|
||||
AutoscrollStrategy::Top => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue