Hi Caolan,
It seems you're the expert in this area :-) I was wondering whether you
could help look at / review my tentative fix here:
http://cgit.freedesktop.org/libreoffice/core/commit/?id=dda3686acde4911f70f07724247e822f8b3dbd90
Pwrt. a back-port to libreoffice-4-1 it makes a MAB disappear and turn
valgrind clean which is encouraging, but - ... I'm not happy with my
understanding here.
In particular - the difference between the ScreenFontCache and other
font caches is unclear to me, it's also unclear why we need to have
(potentially) a different font cache on each window / frame, and do all
this weirdo recursion there - surely a single, global fontcache would
suffice ?
Either way - help appreciated; it seems from the referenced bug that we
carefully re-load lists of fonts in:
void OutputDevice::ImplUpdateFontData( bool bNewFontLists )
...
mpGraphics->GetDevFontList( mpFontList );
And then (before the re-ordering above) proceed to call
GlyphCache::ClearFontCache and delete them all. When done in the reverse
order life is better, but - then why so many caches ? why is lifecycle
of that so contorted ? ;-) etc. ?
Thoughts much appreciated for -4-1.
Thanks,
Michael.
--
michael.meeks@suse.com <><, Pseudo Engineer, itinerant idiot
Context
- font cache clearing foo ... · Michael Meeks
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.