From 7ede73899d3ccca4ff94e2c2333d4016ee4b65be Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Sun, 20 Nov 2005 15:27:11 +0000 Subject: [PATCH] Moved EnsureVisible to avoid spurious selection of root during idle processing (via ScrollTo/wxYieldIfNeeded) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/treectlg.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/generic/treectlg.cpp b/src/generic/treectlg.cpp index 0daf721601..9f014eb75e 100644 --- a/src/generic/treectlg.cpp +++ b/src/generic/treectlg.cpp @@ -1858,8 +1858,6 @@ void wxGenericTreeCtrl::DoSelectItem(const wxTreeItemId& itemId, parent = GetItemParent( parent ); } - EnsureVisible( itemId ); - // ctrl press if (unselect_others) { @@ -1891,6 +1889,11 @@ void wxGenericTreeCtrl::DoSelectItem(const wxTreeItemId& itemId, RefreshLine( m_current ); } + // This can cause idle processing to select the root + // if no item is selected, so it must be after the + // selection is set + EnsureVisible( itemId ); + event.SetEventType(wxEVT_COMMAND_TREE_SEL_CHANGED); GetEventHandler()->ProcessEvent( event ); } -- 2.47.2