hold LogicalFontInstance with rtl::Reference

Desktop / LibreOffice - Noel Grandin [collabora.co.uk] - 8 June 2018 20:29 EDT

instead of manual reference counting.

Also the releasing of not-currently-in-use LogicalFontInstance objects from the cache is made less aggressive - we now only flush entries until we have less than CACHE_SIZE instances, instead of flushing the whole cache.

Change-Id: Ib235b132776b5f09ae8ae93a933c2eebe5fa9610 Reviewed-on: https://gerrit.libreoffice.org/55384

c4c56de1b0e6 hold LogicalFontInstance with rtl::Reference
include/vcl/outdev.hxx | 2 +-
vcl/inc/PhysicalFontFace.hxx | 2 +-
vcl/inc/fontinstance.hxx | 9 +-
vcl/inc/fontselect.hxx | 3 +-
vcl/inc/impfontcache.hxx | 20 +---
vcl/inc/quartz/salgdi.h | 6 +-
vcl/inc/sallayout.hxx | 2 +-
vcl/inc/salwtype.hxx | 3 +-
vcl/inc/unx/freetype_glyphcache.hxx | 4 +-
vcl/inc/unx/glyphcache.hxx | 5 +-
vcl/inc/win/salgdi.h | 7 +-
vcl/inc/win/winlayout.hxx | 2 +-
vcl/quartz/ctfonts.cxx | 2 +-
vcl/quartz/salgdi.cxx | 10 +-
vcl/source/font/PhysicalFontFace.cxx | 2 +-
vcl/source/font/fontcache.cxx | 148 ++++++-------------------
vcl/source/font/fontinstance.cxx | 22 ----
vcl/source/font/fontselect.cxx | 1 +
vcl/source/gdi/CommonSalLayout.cxx | 2 -
vcl/source/gdi/pdfwriter_impl.cxx | 12 +-
vcl/source/gdi/print.cxx | 25 +----
vcl/source/gdi/virdev.cxx | 6 +-
vcl/source/outdev/font.cxx | 26 ++---
vcl/source/outdev/outdev.cxx | 3 +-
vcl/source/outdev/outdevstate.cxx | 7 +-
vcl/source/outdev/textline.cxx | 8 +-
vcl/source/window/window.cxx | 5 +-
vcl/unx/generic/glyphs/freetype_glyphcache.cxx | 9 +-
vcl/win/gdi/salfont.cxx | 14 +--
vcl/win/gdi/salgdi.cxx | 1 +
vcl/win/gdi/winlayout.cxx | 5 -
31 files changed, 101 insertions(+), 272 deletions(-)

Upstream: cgit.freedesktop.org


  • Share