From 81c31c6094dd2f097ba66920ff9ece3d8ab327f7 Mon Sep 17 00:00:00 2001 From: Graham Dawes Date: Mon, 1 Jul 2019 14:20:34 +0100 Subject: [PATCH] Fix wxTreeCtrl::IsVisible() for wxQt Return false if the item is expanded but scrolled outside of the viewport, to conform to the function documentation and the behaviour in the other ports. Closes https://github.com/wxWidgets/wxWidgets/pull/1380 --- src/qt/treectrl.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/qt/treectrl.cpp b/src/qt/treectrl.cpp index 0d7df70b35..27c17b5c15 100644 --- a/src/qt/treectrl.cpp +++ b/src/qt/treectrl.cpp @@ -745,8 +745,9 @@ bool wxTreeCtrl::IsVisible(const wxTreeItemId& item) const wxCHECK_MSG(item.IsOk(), false, "invalid tree item"); const QTreeWidgetItem *qTreeItem = wxQtConvertTreeItem(item); - const QRect visualRect = m_qtTreeWidget->visualItemRect(qTreeItem); - return visualRect.isValid(); + const QRect itemRect = m_qtTreeWidget->visualItemRect(qTreeItem); + const QRect clientRect = m_qtTreeWidget->rect(); + return itemRect.isValid() && clientRect.contains(itemRect); } bool wxTreeCtrl::ItemHasChildren(const wxTreeItemId& item) const