From cfe6103daf6a51f8f247084cf29607589df897fe Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Mon, 22 Nov 2021 14:10:17 -0800 Subject: [PATCH] Fix selection set id mismatch when rendering guest selections Co-Authored-By: Nathan Sobo --- crates/editor/src/lib.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/editor/src/lib.rs b/crates/editor/src/lib.rs index 09ca22f760..158b2823b4 100644 --- a/crates/editor/src/lib.rs +++ b/crates/editor/src/lib.rs @@ -2458,12 +2458,15 @@ impl Editor { let display_map = self.display_map.update(cx, |map, cx| map.snapshot(cx)); let buffer = self.buffer.read(cx); let selections = self - .selection_set(cx) + .buffer + .read(cx) + .selection_set(set_id) + .unwrap() .selections::(buffer) .collect::>(); let start = range.start.to_point(&display_map); let start_index = self.selection_insertion_index(&selections, start); - let pending_selection = if set_id.replica_id == self.buffer.read(cx).replica_id() { + let pending_selection = if set_id == self.selection_set_id { self.pending_selection.as_ref().and_then(|pending| { let mut selection_start = pending.start.to_display_point(&display_map); let mut selection_end = pending.end.to_display_point(&display_map);