From: Julian Smart Date: Sun, 20 Nov 2005 15:27:11 +0000 (+0000) Subject: Moved EnsureVisible to avoid spurious selection of root during idle processing X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/7ede73899d3ccca4ff94e2c2333d4016ee4b65be 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 --- 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 ); }