From 0adc6ddaada73f47949076f71be68eeab95d206d Mon Sep 17 00:00:00 2001 From: Alvaro Parker <64918109+AlvaroParker@users.noreply.github.com> Date: Sun, 14 Sep 2025 15:39:23 -0300 Subject: [PATCH] ui: Fix scrollbar showing despite being disabled by tracked setting (#38152) Closes #38147 The scrollbar's `show_state` field was always being initialized to `VisibilityState::Visible`, ignoring the `show_setting` value. Release Notes: - N/A --- crates/ui/src/components/scrollbar.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/ui/src/components/scrollbar.rs b/crates/ui/src/components/scrollbar.rs index 35dd52e357480d0a82c1c474b609c49bf2c53db0..e4c2937be775eed4d9ae673da763e1eda5a65419 100644 --- a/crates/ui/src/components/scrollbar.rs +++ b/crates/ui/src/components/scrollbar.rs @@ -521,6 +521,7 @@ impl ScrollbarState { cx.observe_global_in::(window, Self::settings_changed) .detach(); + let show_setting = S::get_value(cx).visibility(cx); ScrollbarState { thumb_state: Default::default(), notify_id: config.tracked_entity.map(|id| id.unwrap_or(parent_id)), @@ -529,8 +530,8 @@ impl ScrollbarState { width: config.scrollbar_width, visibility: config.visibility, tracked_setting: PhantomData, - show_setting: S::get_value(cx).visibility(cx), - show_state: VisibilityState::Visible, + show_setting, + show_state: VisibilityState::from_show_setting(show_setting), mouse_in_parent: true, last_prepaint_state: None, _auto_hide_task: None,