From a66098b4852acdda43839847168fbbf9db6faefe Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Thu, 23 Oct 2025 18:23:35 +0200 Subject: [PATCH] gpui: Revert `reuse_prepaint` change of #40767 (#41025) https://github.com/zed-industries/zed/pull/40767/files/c95ae84d919462393455d858836f479dd24bd620#r2455674159 Release Notes: - N/A *or* Added/Fixed/Improved ... --- crates/gpui/src/window.rs | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/crates/gpui/src/window.rs b/crates/gpui/src/window.rs index e7b1e563034f3a025648e12f57d3ad73e83eb2e5..0610ea96cb5150cfbad72b2b70b4432df9b76ca2 100644 --- a/crates/gpui/src/window.rs +++ b/crates/gpui/src/window.rs @@ -2275,14 +2275,19 @@ impl Window { } self.next_frame.deferred_draws.extend( - self.rendered_frame - .deferred_draws - .drain(range.start.deferred_draws_index..range.end.deferred_draws_index) - .map(|mut deferred_draw| { - deferred_draw.parent_node = - reused_subtree.refresh_node_id(deferred_draw.parent_node); - deferred_draw.element = None; - deferred_draw + self.rendered_frame.deferred_draws + [range.start.deferred_draws_index..range.end.deferred_draws_index] + .iter() + .map(|deferred_draw| DeferredDraw { + current_view: deferred_draw.current_view, + parent_node: reused_subtree.refresh_node_id(deferred_draw.parent_node), + element_id_stack: deferred_draw.element_id_stack.clone(), + text_style_stack: deferred_draw.text_style_stack.clone(), + priority: deferred_draw.priority, + element: None, + absolute_offset: deferred_draw.absolute_offset, + prepaint_range: deferred_draw.prepaint_range.clone(), + paint_range: deferred_draw.paint_range.clone(), }), ); }