assistant_context_editor: Fix patch block not rendering due to window reborrow (#24461)

This PR fixes an issue where the Assistant patch block was not being
rendered when using "Suggest Edits".

The issue was that the `BlockContext` already has a borrow of the
`Window`, so we can't use `update_in` to reborrow the window.

The fix is to reuse the existing `&mut Window` reference from the
`BlockContext` so we don't need to `update_in`.

Closes #24169.

Release Notes:

- Assistant: Fixed an issue where the patch block was not being rendered
when using "Suggest Edits".

---------

Co-authored-by: Max <max@zed.dev>
This commit is contained in:
Marshall Bowers 2025-02-07 13:03:19 -05:00 committed by GitHub
parent 44c6a54f95
commit 8ff8dbdb2b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -832,12 +832,13 @@ impl ContextEditor {
let render_block: RenderBlock = Arc::new({ let render_block: RenderBlock = Arc::new({
let this = this.clone(); let this = this.clone();
let patch_range = range.clone(); let patch_range = range.clone();
move |cx: &mut BlockContext<'_, '_>| { move |cx: &mut BlockContext| {
let max_width = cx.max_width; let max_width = cx.max_width;
let gutter_width = cx.gutter_dimensions.full_width(); let gutter_width = cx.gutter_dimensions.full_width();
let block_id = cx.block_id; let block_id = cx.block_id;
let selected = cx.selected; let selected = cx.selected;
this.update_in(cx, |this, window, cx| { let window = &mut cx.window;
this.update(cx.app, |this, cx| {
this.render_patch_block( this.render_patch_block(
patch_range.clone(), patch_range.clone(),
max_width, max_width,