From f34e738ddd6230d434b3cb709ccdce4499437882 Mon Sep 17 00:00:00 2001 From: Dave Pearson Date: Mon, 8 May 2023 09:16:58 +0100 Subject: [PATCH] Ensure the cursor node is set to None when the tree goes empty Up until now there wasn't really a way for the tree to go empty, outside of clear/reset. Now that we can remove nodes on the fly, that is possible. This takes that into account. See #2462. --- src/textual/widgets/_tree.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/textual/widgets/_tree.py b/src/textual/widgets/_tree.py index 27bb2487f..1d399fd52 100644 --- a/src/textual/widgets/_tree.py +++ b/src/textual/widgets/_tree.py @@ -845,6 +845,8 @@ class Tree(Generic[TreeDataType], ScrollView, can_focus=True): self._cursor_node = node if previous_node != node: self.post_message(self.NodeHighlighted(node)) + else: + self._cursor_node = None def watch_guide_depth(self, guide_depth: int) -> None: self._invalidate()