Unset follower's scroll anchor when editor is scrolled all the way up

This commit is contained in:
Antonio Scandurra 2022-03-19 10:50:23 +01:00
parent 570c987455
commit 0e920ad5e9
2 changed files with 5 additions and 3 deletions

View file

@ -1037,9 +1037,9 @@ impl Editor {
cx.notify(); cx.notify();
} }
fn set_scroll_top_anchor(&mut self, anchor: Anchor, cx: &mut ViewContext<Self>) { fn set_scroll_top_anchor(&mut self, anchor: Option<Anchor>, cx: &mut ViewContext<Self>) {
self.scroll_position = Vector2F::zero(); self.scroll_position = Vector2F::zero();
self.scroll_top_anchor = Some(anchor); self.scroll_top_anchor = anchor;
cx.emit(Event::ScrollPositionChanged); cx.emit(Event::ScrollPositionChanged);
cx.notify(); cx.notify();
} }

View file

@ -95,7 +95,9 @@ impl FollowableItem for Editor {
let (excerpt_id, _, _) = buffer.as_singleton().unwrap(); let (excerpt_id, _, _) = buffer.as_singleton().unwrap();
buffer.anchor_in_excerpt(excerpt_id.clone(), anchor) buffer.anchor_in_excerpt(excerpt_id.clone(), anchor)
}; };
self.set_scroll_top_anchor(anchor, cx); self.set_scroll_top_anchor(Some(anchor), cx);
} else {
self.set_scroll_top_anchor(None, cx);
} }
} }
} }