diff --git a/crates/multi_buffer/src/multi_buffer.rs b/crates/multi_buffer/src/multi_buffer.rs index 21b4d0e1a6c84189a9926d2d181f097c2bdf4ea7..2dadd96efc8c5fb1e388a71a6950d95a9b1dccce 100644 --- a/crates/multi_buffer/src/multi_buffer.rs +++ b/crates/multi_buffer/src/multi_buffer.rs @@ -673,12 +673,14 @@ impl DiffState { base_text_changed_range, extended_range: _, }) => { - this.inverted_buffer_diff_changed( - diff, - main_buffer, - base_text_changed_range.clone(), - cx, - ); + if let Some(base_text_changed_range) = base_text_changed_range { + this.inverted_buffer_diff_changed( + diff, + main_buffer, + base_text_changed_range.clone(), + cx, + ); + } cx.emit(Event::BufferDiffChanged); } BufferDiffEvent::LanguageChanged => { @@ -2574,7 +2576,7 @@ impl MultiBuffer { &mut self, diff: Entity, main_buffer: Entity, - diff_change_range: Option>, + diff_change_range: Range, cx: &mut Context, ) { self.sync_mut(cx); @@ -2594,10 +2596,6 @@ impl MultiBuffer { let mut snapshot = self.snapshot.get_mut(); snapshot.diffs.insert_or_replace(new_diff, ()); - let Some(diff_change_range) = diff_change_range else { - return; - }; - let excerpt_edits = snapshot.excerpt_edits_for_diff_change(buffer_state, diff_change_range); let edits = Self::sync_diff_transforms( &mut snapshot, @@ -2788,12 +2786,7 @@ impl MultiBuffer { let base_text_buffer_id = snapshot.remote_id(); let diff_change_range = 0..snapshot.len(); self.snapshot.get_mut().has_inverted_diff = true; - self.inverted_buffer_diff_changed( - diff.clone(), - main_buffer.clone(), - Some(diff_change_range), - cx, - ); + self.inverted_buffer_diff_changed(diff.clone(), main_buffer.clone(), diff_change_range, cx); self.diffs.insert( base_text_buffer_id, DiffState::new_inverted(diff, main_buffer, cx),