]> git.saurik.com Git - wxWidgets.git/commitdiff
Moved EnsureVisible to avoid spurious selection of root during idle processing
authorJulian Smart <julian@anthemion.co.uk>
Sun, 20 Nov 2005 15:27:11 +0000 (15:27 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Sun, 20 Nov 2005 15:27:11 +0000 (15:27 +0000)
(via ScrollTo/wxYieldIfNeeded)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/treectlg.cpp

index 0daf721601d712f5c3b3b5b9b7b0c5deb16e2fc5..9f014eb75eff36c56379a85a5b24d0baee169ffd 100644 (file)
@@ -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 );
 }