diff options
author | Luboš Luňák <l.lunak@centrum.cz> | 2021-02-24 12:45:32 +0000 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2021-03-01 15:56:25 +0100 |
commit | 9cd95b10936450b5d1d60319192c25c4aea05fa3 (patch) | |
tree | 12b889b1dd3aab1a870b9d3768618c27becaca07 /vcl | |
parent | 6457ade879b90a6d84871cefe46e17e30e68920e (diff) |
it's enough to have one Skia font manager
Change-Id: I5dd29178e1a1ec1081820912f49fd387eb3f822b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111521
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/skia/win/gdiimpl.hxx | 10 | ||||
-rw-r--r-- | vcl/inc/skia/x11/textrender.hxx | 2 | ||||
-rw-r--r-- | vcl/skia/win/gdiimpl.cxx | 2 |
3 files changed, 8 insertions, 6 deletions
diff --git a/vcl/inc/skia/win/gdiimpl.hxx b/vcl/inc/skia/win/gdiimpl.hxx index fd39ca273609..277c076323c8 100644 --- a/vcl/inc/skia/win/gdiimpl.hxx +++ b/vcl/inc/skia/win/gdiimpl.hxx @@ -21,9 +21,9 @@ #include <svdata.hxx> #include <SkFont.h> +#include <SkFontMgr.h> class SkTypeface; -class SkFontMgr; class ControlCacheKey; class SkiaCompatibleDC : public CompatibleDC @@ -63,10 +63,10 @@ protected: virtual void performFlush() override; sk_sp<SkTypeface> createDirectWriteTypeface(const LOGFONTW& logFont); static void initFontInfo(); - IDWriteFactory* dwriteFactory; - IDWriteGdiInterop* dwriteGdiInterop; - sk_sp<SkFontMgr> dwriteFontMgr; - bool dwriteDone = false; + inline static IDWriteFactory* dwriteFactory; + inline static IDWriteGdiInterop* dwriteGdiInterop; + inline static sk_sp<SkFontMgr> dwriteFontMgr; + inline static bool dwriteDone = false; static SkFont::Edging fontEdging; }; diff --git a/vcl/inc/skia/x11/textrender.hxx b/vcl/inc/skia/x11/textrender.hxx index d6eda9a048ea..6943ab4ce416 100644 --- a/vcl/inc/skia/x11/textrender.hxx +++ b/vcl/inc/skia/x11/textrender.hxx @@ -32,7 +32,7 @@ public: virtual void ClearDevFontCache() override; private: - sk_sp<SkFontMgr> fontManager; + static inline sk_sp<SkFontMgr> fontManager; }; #endif diff --git a/vcl/skia/win/gdiimpl.cxx b/vcl/skia/win/gdiimpl.cxx index 8467b1d80765..6d47f34ed84d 100644 --- a/vcl/skia/win/gdiimpl.cxx +++ b/vcl/skia/win/gdiimpl.cxx @@ -159,6 +159,8 @@ sk_sp<SkTypeface> WinSkiaSalGraphicsImpl::createDirectWriteTypeface(const LOGFON } dwriteDone = true; } + if (!dwriteFontMgr) + return nullptr; IDWriteFont* font = nullptr; IDWriteFontFace* fontFace; IDWriteFontFamily* fontFamily; |