From 87b100649efe2109c26bd131a7e98d9f9f65fc2e Mon Sep 17 00:00:00 2001 From: cbeytas Date: Wed, 21 Nov 2018 14:16:50 -0500 Subject: [PATCH] Fix exception when no selection in HyperTreeList If a HyperTreeList is created with only the root item present, and not selected, an exception will be thrown if any key is pressed. GetFirstVisibleItem() returns None, even though the root item is present and visible. Only an issue if the TR_MULTIPLE flag is set. --- wx/lib/agw/hypertreelist.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/wx/lib/agw/hypertreelist.py b/wx/lib/agw/hypertreelist.py index 6458e4c8..eb505071 100644 --- a/wx/lib/agw/hypertreelist.py +++ b/wx/lib/agw/hypertreelist.py @@ -2348,7 +2348,15 @@ class TreeListMainWindow(CustomTreeCtrl): def GetFirstVisibleItem(self): """ Returns the first visible item. """ - return self.GetNextVisible(self.GetRootItem()) + root = self.GetRootItem() + if not root: + return None + + if not self.HasAGWFlag(TR_HIDE_ROOT): + if self.IsVisible(root): + return root + + return self.GetNextVisible(root) def GetPrevVisible(self, item):