]> git.saurik.com Git - wxWidgets.git/commitdiff
cache the best size in overridden DoGetBestSize()
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 27 Nov 2006 16:35:06 +0000 (16:35 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 27 Nov 2006 16:35:06 +0000 (16:35 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/treectlg.cpp

index c1cd97fdfb98e071231e3ee6f9d2a863e526a7e4..4c9305f01ee85cf66fc7a0b00410c6216e1a6917 100644 (file)
@@ -3651,9 +3651,15 @@ wxSize wxGenericTreeCtrl::DoGetBestSize() const
 {
     wxSize size = wxTreeCtrlBase::DoGetBestSize();
 
-    // The generic control seems to have an implicit border
+    // there seems to be an implicit extra border around the items, although
+    // I'm not really sure where does it come from -- but without this, the
+    // scrollbars appear in a tree with default/best size
     size.IncBy(4, 4);
 
+    // avoid caching (necessarily arbitrary) default size for empty tree
+    if ( GetRootItem().IsOk() )
+        CacheBestSize(size);
+
     return size;
 }