From fc135a498bbe60b7b33db0282f82143336e5149b Mon Sep 17 00:00:00 2001 From: Greg Ercolano Date: Sun, 25 Dec 2011 01:10:45 +0000 Subject: Optimizations for very large Fl_Tree's (Adding 60k items took forever, and drawing them caused wraparound drawing issues and scrolling slowness) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9216 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_Tree_Item_Array.cxx | 1 + 1 file changed, 1 insertion(+) (limited to 'src/Fl_Tree_Item_Array.cxx') diff --git a/src/Fl_Tree_Item_Array.cxx b/src/Fl_Tree_Item_Array.cxx index 6f338a70e..358306a27 100644 --- a/src/Fl_Tree_Item_Array.cxx +++ b/src/Fl_Tree_Item_Array.cxx @@ -79,6 +79,7 @@ void Fl_Tree_Item_Array::clear() { void Fl_Tree_Item_Array::enlarge(int count) { int newtotal = _total + count; // new total if ( newtotal >= _size ) { // more than we have allocated? + if ( (newtotal/150) > _chunksize ) _chunksize *= 10; // Increase size of array int newsize = _size + _chunksize; Fl_Tree_Item **newitems = (Fl_Tree_Item**)malloc(newsize * sizeof(Fl_Tree_Item*)); -- cgit v1.2.3