git: Fix double-lease panic when syncing selections in side-by-side diff (#47430)
Release Notes: - N/A
This commit is contained in:
1 parent
37f8442d28
commit
540bffcf62
1 file changed
+10
-6
@@ -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();
|
||||
})
|
||||
},
|
||||
)));
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user