]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/treectrl.cpp
Added wxPGProperty::OnValidationFailure(); needed it and some other tweaks to allow...
[wxWidgets.git] / src / msw / treectrl.cpp
index 9cf8532ae622247551b50c09af1d06766dfa19a5..7aa4079cf659ceb0082b46044e91e83311e5ec3a 100644 (file)
@@ -797,11 +797,6 @@ bool wxTreeCtrl::DoGetItem(wxTreeViewItem *tvItem) const
     wxCHECK_MSG( tvItem->hItem != TVI_ROOT, false,
                  _T("can't retrieve virtual root item") );
 
-    return DoGetPossiblyRootItem(tvItem);
-}
-
-bool wxTreeCtrl::DoGetPossiblyRootItem(wxTreeViewItem *tvItem) const
-{
     if ( !TreeView_GetItem(GetHwnd(), tvItem) )
     {
         wxLogLastError(wxT("TreeView_GetItem"));
@@ -997,7 +992,14 @@ wxTreeItemParam *wxTreeCtrl::GetItemParam(const wxTreeItemId& item) const
 
     wxTreeViewItem tvItem(item, TVIF_PARAM);
 
-    if ( !DoGetPossiblyRootItem(&tvItem) )
+    // hidden root may still have data.
+    if ( IS_VIRTUAL_ROOT(item) )
+    {
+        return GET_VIRTUAL_ROOT()->GetParam();
+    }
+
+    // visible node.
+    if ( !DoGetItem(&tvItem) )
     {
         return NULL;
     }
@@ -1212,7 +1214,7 @@ bool wxTreeCtrl::ItemHasChildren(const wxTreeItemId& item) const
     wxCHECK_MSG( item.IsOk(), false, wxT("invalid tree item") );
 
     wxTreeViewItem tvItem(item, TVIF_CHILDREN);
-    DoGetPossiblyRootItem(&tvItem);
+    DoGetItem(&tvItem);
 
     return tvItem.cChildren != 0;
 }