void DoSortChildren(const wxTreeItemId& item, bool reverse = FALSE)
         { m_reverseSort = reverse; wxTreeCtrl::SortChildren(item); }
-    void DoEnsureVisible() { EnsureVisible(m_lastItem); }
+    void DoEnsureVisible() { if (m_lastItem.IsOk()) EnsureVisible(m_lastItem); }
 
     void DoToggleIcon(const wxTreeItemId& item);
 
 
     int ImageSize(void) const { return m_imageSize; }
 
+    void SetLastItem(wxTreeItemId id) { m_lastItem = id; }
+
 protected:
     virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2);