From bd3b7a1d87da44c360e40c9a35b9af4347a99332 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Mon, 23 Feb 2026 20:20:44 -0800 Subject: [PATCH] Scroller: preserve original touch valid callback (#37363) preserve --- system/ui/widgets/scroller.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/system/ui/widgets/scroller.py b/system/ui/widgets/scroller.py index 0543b1395..7eff8ae59 100644 --- a/system/ui/widgets/scroller.py +++ b/system/ui/widgets/scroller.py @@ -141,8 +141,12 @@ class Scroller(Widget): def add_widget(self, item: Widget) -> None: self._items.append(item) + + # preserve original touch valid callback + original_touch_valid_callback = item._touch_valid_callback item.set_touch_valid_callback(lambda: self.scroll_panel.is_touch_valid() and self.enabled and self._scrolling_to is None - and not self.moving_items) + and not self.moving_items and (original_touch_valid_callback() if + original_touch_valid_callback else True)) def set_scrolling_enabled(self, enabled: bool | Callable[[], bool]) -> None: """Set whether scrolling is enabled (does not affect widget enabled state)."""