• Caolán McNamara's avatar
    fix scrolling performance of listboxes with hundreds of entries · 42b02005
    Caolán McNamara yazdı
    make it approximately infinitely faster
    
    a) add a method AdjustEntryHeightAndRecalc that just does AdjustEntryHeight and
    RecalcViewData and replace all the places that do the two of those together
    with that utility
    
    b) in our SetFont now only call AdjustEntryHeightAndRecalc if the new font is
    different to the old font, ignoring color which doesn't have a bearing on row
    size.
    
    c) where we originally called SetFont(GetFont()), which would have triggered
    AdjustEntryHeightAndRecalc, now call the new AdjustEntryHeightAndRecalc
    explicitly.
    
    The performance problem apparently a regression from
    ac7acb0a where we seem to now end up drawing on
    ourself and calling SetFont on ourself rather than on a pImpl without an
    overridden SetFont. So when we redraw on scrolling we triggered a cascade of
    calculations and force text layout of every row.
    
    (cherry picked from commit 3b6e61c3)
    
    Conflicts:
    	include/svtools/treelistbox.hxx
    
    Change-Id: I3c284c360f06ac383e8c38045fc4c2946f505b35
    Reviewed-on: https://gerrit.libreoffice.org/3611Reviewed-by: 's avatarTor Lillqvist <tml@iki.fi>
    Tested-by: 's avatarTor Lillqvist <tml@iki.fi>
    42b02005
Adı
Son kayıt (commit)
Son güncelleme
..
bmpmaker Loading commit data...
inc/svtools Loading commit data...
langsupport Loading commit data...
prj Loading commit data...
qa/unoapi Loading commit data...
source Loading commit data...
uiconfig/ui Loading commit data...
util Loading commit data...
AllLangResTarget_svt.mk Loading commit data...
Executable_bmp.mk Loading commit data...
Executable_bmpsum.mk Loading commit data...
Executable_g2g.mk Loading commit data...
Executable_langsupport.mk Loading commit data...
JunitTest_svtools_unoapi.mk Loading commit data...
Library_hatchwindowfactory.mk Loading commit data...
Library_svt.mk Loading commit data...
Makefile Loading commit data...
Module_svtools.mk Loading commit data...
Package_inc.mk Loading commit data...
README Loading commit data...
UI_svt.mk Loading commit data...