diff options
| author | Greg Ercolano <erco@seriss.com> | 2011-12-25 01:10:45 +0000 |
|---|---|---|
| committer | Greg Ercolano <erco@seriss.com> | 2011-12-25 01:10:45 +0000 |
| commit | fc135a498bbe60b7b33db0282f82143336e5149b (patch) | |
| tree | f6ff9bcaf5637352ab6cf8d53fdbd214e4db6417 /src/Fl_Tree_Item_Array.cxx | |
| parent | a0be94eebe7dcb10681c3496edde0d41660ee0c4 (diff) | |
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
Diffstat (limited to 'src/Fl_Tree_Item_Array.cxx')
| -rw-r--r-- | src/Fl_Tree_Item_Array.cxx | 1 |
1 files changed, 1 insertions, 0 deletions
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*)); |
