Avoid notifying editor when wrap width changes

Wrap width is already assigned from within draw. It can be called multiple
times as taffy iteratively computes the layout.

Co-authored-by: Nathan <nathan@zed.dev>
This commit is contained in:
Max Brunsfeld 2023-12-12 12:06:38 -08:00
parent cc97b04627
commit f5ca514bf0
2 changed files with 3 additions and 2 deletions

View file

@ -184,7 +184,6 @@ impl WrapMap {
Ok((snapshot, edits)) => { Ok((snapshot, edits)) => {
self.snapshot = snapshot; self.snapshot = snapshot;
self.edits_since_sync = self.edits_since_sync.compose(&edits); self.edits_since_sync = self.edits_since_sync.compose(&edits);
cx.notify();
} }
Err(wrap_task) => { Err(wrap_task) => {
self.background_task = Some(cx.spawn(|this, mut cx| async move { self.background_task = Some(cx.spawn(|this, mut cx| async move {

View file

@ -8300,7 +8300,9 @@ impl Editor {
self.style.as_ref() self.style.as_ref()
} }
pub fn set_wrap_width(&self, width: Option<Pixels>, cx: &mut AppContext) -> bool { // Called by the element. This method is not designed to be called outside of the editor
// element's layout code because it does not notify when rewrapping is computed synchronously.
pub(crate) fn set_wrap_width(&self, width: Option<Pixels>, cx: &mut AppContext) -> bool {
self.display_map self.display_map
.update(cx, |map, cx| map.set_wrap_width(width, cx)) .update(cx, |map, cx| map.set_wrap_width(width, cx))
} }