From 1ef062cd02ce14675528fc4c57f7796eb67be92e Mon Sep 17 00:00:00 2001 From: Ethan Guo Date: Sat, 25 Jul 2026 06:48:42 +0000 Subject: [PATCH] refactor(tui): extract _select_origin_widget helper --- frontends/tuiapp_v2.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/frontends/tuiapp_v2.py b/frontends/tuiapp_v2.py index 5d61c0717..d4304a00a 100644 --- a/frontends/tuiapp_v2.py +++ b/frontends/tuiapp_v2.py @@ -3424,6 +3424,11 @@ def preview(label, txt, style): # ---------- App ---------- +# Textual 8.2.6 renamed _select_start to _select_state (SelectState.start.container). +def _select_origin_widget(screen: Any) -> Any: + if (state := getattr(screen, "_select_state", None)) is not None: + return start.container if (start := getattr(state, "start", None)) is not None else None + return legacy[0] if (legacy := getattr(screen, "_select_start", None)) is not None else None class HelpScreen(ModalScreen): @@ -3757,13 +3762,7 @@ def patched(select_widget, mouse_coord, delta_y): scroll_lines = app.SELECT_AUTO_SCROLL_LINES candidates = [select_widget] - # Textual 8.2.6 renamed _select_start to _select_state (SelectState.start.container). - select_state = getattr(screen, "_select_state", None) - if select_state is not None: - sw = select_state.start.container - else: - ss = getattr(screen, "_select_start", None) - sw = ss[0] if ss is not None else None + sw = _select_origin_widget(screen) if sw is not None and sw is not select_widget: candidates.append(sw)