• Noel Grandin's avatar
    tdf#100894 freeze when editing calc file with bazillions of cond formatting · d70f53a8
    Noel Grandin yazdı
    This does not fix the root cause of this problem, which is simply that
    the document has a bazillion style sheets. Either the program which
    exported this document is broken, or our importer is not correctly de-
    duplicating the imported stylesheets.
    
    Anyhow, I made performance improvements until I realised that it was
    simply going to be impossible to display that many stylesheets in our
    UI.
    
    But still, this bug was useful in flushing out some performance issues.
    
    The improvements, in order of decreasing importance are:
    
    (*) Use SfxStyleSheetIterator in SvxStyleToolBoxControl::FillStyleBox to
    avoid an O(n^2) situation where the pool repeatedly marks all the
    stylesheets as not-used, and then walks the document finding out if a
    stylesheet is used. Which is a waste of time because we're searching the
    documents pool, so of course they are all used.
    
    (*) Add a virtual method to avoid dynamic_cast
    
    (*) return raw pointers instead of returning rtl::Reference by value to
    avoid unnecessary reference counting.
    
    SfxStyleSheetIterator
    
    Change-Id: I15ff9c1846d3ed3e6f5655fa44c762f7619d547a
    Reviewed-on: https://gerrit.libreoffice.org/55751Tested-by: 's avatarJenkins <ci@libreoffice.org>
    Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
    d70f53a8
Adı
Son kayıt (commit)
Son güncelleme
..
LibreOfficeKit Loading commit data...
android Loading commit data...
animations Loading commit data...
apple_remote Loading commit data...
avmedia Loading commit data...
basegfx Loading commit data...
basic Loading commit data...
canvas Loading commit data...
codemaker Loading commit data...
com/sun/star/uno Loading commit data...
comphelper Loading commit data...
connectivity Loading commit data...
cppcanvas Loading commit data...
cppu Loading commit data...
cppuhelper Loading commit data...
cppunittester Loading commit data...
dbaccess Loading commit data...
desktop Loading commit data...
drawinglayer Loading commit data...
editeng Loading commit data...
filter Loading commit data...
formula Loading commit data...
fpicker Loading commit data...
framework Loading commit data...
helpcompiler Loading commit data...
i18nlangtag Loading commit data...
i18nutil Loading commit data...
jvmaccess Loading commit data...
jvmfwk Loading commit data...
linguistic Loading commit data...
o3tl Loading commit data...
onlineupdate Loading commit data...
oox Loading commit data...
opencl Loading commit data...
osl Loading commit data...
package Loading commit data...
registry Loading commit data...
rtl Loading commit data...
sal Loading commit data...
salhelper Loading commit data...
sax Loading commit data...
sfx2 Loading commit data...
sot Loading commit data...
store Loading commit data...
svl Loading commit data...
svtools Loading commit data...
svx Loading commit data...
systools/win32 Loading commit data...
test Loading commit data...
toolkit Loading commit data...
tools Loading commit data...
typelib Loading commit data...
ucbhelper Loading commit data...
uno Loading commit data...
unoidl Loading commit data...
unotest Loading commit data...
unotools Loading commit data...
vbahelper Loading commit data...
vcl Loading commit data...
xmloff Loading commit data...
xmlreader Loading commit data...
xmlscript Loading commit data...
IwyuFilter_include.yaml Loading commit data...
default.rc Loading commit data...
postmac.h Loading commit data...
postwin.h Loading commit data...
premac.h Loading commit data...
prewin.h Loading commit data...
version.hrc Loading commit data...