From 7fc1544a10eacb66854b74be73ebec857fbe3075 Mon Sep 17 00:00:00 2001 From: Floyd Wang Date: Tue, 19 Aug 2025 19:18:38 +0800 Subject: [PATCH] virtual_list: Do not trigger scrolling if content is smaller than container (#1156) --- crates/ui/src/virtual_list.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/crates/ui/src/virtual_list.rs b/crates/ui/src/virtual_list.rs index a70ce33b..298057bc 100644 --- a/crates/ui/src/virtual_list.rs +++ b/crates/ui/src/virtual_list.rs @@ -559,10 +559,16 @@ impl Element for VirtualList { cx, |_style, _, hitbox, window, cx| { if self.items_count > 0 { - let is_scrolled = !scroll_offset.along(self.axis).is_zero(); let min_scroll_offset = content_bounds.size.along(self.axis) - layout.size_layout.content_size.along(self.axis); + // Do not trigger scrolling if the content is smaller than the container. + if min_scroll_offset.0 >= 0. { + scroll_offset.x = px(0.); + scroll_offset.y = px(0.); + } + + let is_scrolled = !scroll_offset.along(self.axis).is_zero(); if is_scrolled { match self.axis { Axis::Horizontal if scroll_offset.x < min_scroll_offset => {