git: Fix double-lease panic when syncing selections in side-by-side diff (#47430)

Release Notes:

- N/A
This commit is contained in:
Cole Miller authored and GitHub committed 2026-01-22 21:10:16 +00:00
1 parent 37f8442d28
commit 540bffcf62
1 file changed
+10 -6
+10 -6
View File
@@ -545,13 +545,15 @@ impl SplittableEditor {
let this = this.clone();
editor.set_on_local_selections_changed(Some(Box::new(
move |cursor_position, window, cx| {
if let Some(this) = this.upgrade() {
let this = this.clone();
window.defer(cx, move |window, cx| {
this.update(cx, |this, cx| {
if this.locked_cursors {
this.sync_cursor_to_other_side(true, cursor_position, window, cx);
}
});
}
})
.ok();
})
},
)));
});
@@ -560,13 +562,15 @@ impl SplittableEditor {
let this = this.clone();
editor.set_on_local_selections_changed(Some(Box::new(
move |cursor_position, window, cx| {
if let Some(this) = this.upgrade() {
let this = this.clone();
window.defer(cx, move |window, cx| {
this.update(cx, |this, cx| {
if this.locked_cursors {
this.sync_cursor_to_other_side(false, cursor_position, window, cx);
}
});
}
})
.ok();
})
},
)));
});