From 3323581009fb9a59534222539e8589dfe3dcb617 Mon Sep 17 00:00:00 2001 From: galuis116 <116897328+galuis116@users.noreply.github.com> Date: Mon, 20 Apr 2026 05:56:23 -0700 Subject: [PATCH] outline_panel: Fix Pin/Unpin tooltip does not update after state changes (#54310) Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Closes #54309 Release Notes: - Fixed an outline panel issue where the pin/unpin tooltip could show stale text after toggling. --- crates/outline_panel/src/outline_panel.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/outline_panel/src/outline_panel.rs b/crates/outline_panel/src/outline_panel.rs index fa23b805cd48461dabaddbb7670155cdfe1ba8b0..b4a077b1e82f4b5ca4367180195dbe733c87d249 100644 --- a/crates/outline_panel/src/outline_panel.rs +++ b/crates/outline_panel/src/outline_panel.rs @@ -4722,10 +4722,10 @@ impl OutlinePanel { } fn render_filter_footer(&mut self, pinned: bool, cx: &mut Context) -> Div { - let (icon, icon_tooltip) = if pinned { - (IconName::Unpin, "Unpin Outline") + let (pin_button_id, icon, icon_tooltip) = if pinned { + ("unpin_button", IconName::Unpin, "Unpin Outline") } else { - (IconName::Pin, "Pin Active Outline") + ("pin_button", IconName::Pin, "Pin Active Outline") }; let has_query = self.query(cx).is_some(); @@ -4763,7 +4763,7 @@ impl OutlinePanel { ) }) .child( - IconButton::new("pin_button", icon) + IconButton::new(pin_button_id, icon) .tooltip(Tooltip::text(icon_tooltip)) .shape(IconButtonShape::Square) .on_click(cx.listener(|outline_panel, _, window, cx| {