vcl/inc/qt5/Qt5FontFace.hxx | 3 ++- vcl/inc/qt5/Qt5Graphics.hxx | 2 +- vcl/qt5/Qt5Font.hxx | 3 ++- vcl/qt5/Qt5FontFace.cxx | 3 ++- vcl/qt5/Qt5Graphics.cxx | 2 +- vcl/qt5/Qt5Graphics_Text.cxx | 8 +++----- 6 files changed, 11 insertions(+), 10 deletions(-)
New commits: commit 812cae2f0b96c3d95d267b83727dd5a2114e611a Author: Kacper Kasper <kacperkas...@gmail.com> Date: Sun Jun 10 05:59:31 2018 +0200 qt5: hold LogicalFontInstance with rtl::Reference Build fix after c4c56de1b0e62ec866b519b2b24c5e805f0a86d3. Change-Id: I49303528ccbe49894a0fbae3c24d3f3d08c016eb Reviewed-on: https://gerrit.libreoffice.org/55547 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/vcl/inc/qt5/Qt5FontFace.hxx b/vcl/inc/qt5/Qt5FontFace.hxx index 4cc21010a8b7..0e1a359acbb5 100644 --- a/vcl/inc/qt5/Qt5FontFace.hxx +++ b/vcl/inc/qt5/Qt5FontFace.hxx @@ -47,7 +47,8 @@ public: bool GetFontCapabilities(vcl::FontCapabilities& rFontCapabilities) const; bool HasChar(sal_uInt32 cChar) const; - LogicalFontInstance* CreateFontInstance(const FontSelectPattern& rFSD) const override; + rtl::Reference<LogicalFontInstance> + CreateFontInstance(const FontSelectPattern& rFSD) const override; protected: Qt5FontFace(const Qt5FontFace&); diff --git a/vcl/inc/qt5/Qt5Graphics.hxx b/vcl/inc/qt5/Qt5Graphics.hxx index af21ee462b18..40284db9f33a 100644 --- a/vcl/inc/qt5/Qt5Graphics.hxx +++ b/vcl/inc/qt5/Qt5Graphics.hxx @@ -48,7 +48,7 @@ class Qt5Graphics : public SalGraphics QPainter::CompositionMode m_eCompositionMode; PhysicalFontCollection* m_pFontCollection; - Qt5Font* m_pTextStyle[MAX_FALLBACK]; + rtl::Reference<Qt5Font> m_pTextStyle[MAX_FALLBACK]; Color m_aTextColor; Qt5Graphics(Qt5Frame* pFrame, QImage* pQImage); diff --git a/vcl/qt5/Qt5Font.hxx b/vcl/qt5/Qt5Font.hxx index 4e37f7d28bdd..81bd723c1ab6 100644 --- a/vcl/qt5/Qt5Font.hxx +++ b/vcl/qt5/Qt5Font.hxx @@ -27,7 +27,8 @@ class Qt5Font final : public QFont, public LogicalFontInstance { - friend LogicalFontInstance* Qt5FontFace::CreateFontInstance(const FontSelectPattern&) const; + friend rtl::Reference<LogicalFontInstance> + Qt5FontFace::CreateFontInstance(const FontSelectPattern&) const; virtual hb_font_t* ImplInitHbFont() override; diff --git a/vcl/qt5/Qt5FontFace.cxx b/vcl/qt5/Qt5FontFace.cxx index bd3994a721ee..d0efb488d57c 100644 --- a/vcl/qt5/Qt5FontFace.cxx +++ b/vcl/qt5/Qt5FontFace.cxx @@ -62,7 +62,8 @@ Qt5FontFace::~Qt5FontFace() {} sal_IntPtr Qt5FontFace::GetFontId() const { return reinterpret_cast<sal_IntPtr>(&m_aFontId); } -LogicalFontInstance* Qt5FontFace::CreateFontInstance(const FontSelectPattern& rFSD) const +rtl::Reference<LogicalFontInstance> +Qt5FontFace::CreateFontInstance(const FontSelectPattern& rFSD) const { return new Qt5Font(*this, rFSD); } diff --git a/vcl/qt5/Qt5Graphics.cxx b/vcl/qt5/Qt5Graphics.cxx index c7ca69a8a606..7257b8059926 100644 --- a/vcl/qt5/Qt5Graphics.cxx +++ b/vcl/qt5/Qt5Graphics.cxx @@ -47,7 +47,7 @@ Qt5Graphics::~Qt5Graphics() { if (!m_pTextStyle[i]) break; - m_pTextStyle[i]->Release(); + m_pTextStyle[i].clear(); } } diff --git a/vcl/qt5/Qt5Graphics_Text.cxx b/vcl/qt5/Qt5Graphics_Text.cxx index cf244d3f4d78..cb7bef853ba8 100644 --- a/vcl/qt5/Qt5Graphics_Text.cxx +++ b/vcl/qt5/Qt5Graphics_Text.cxx @@ -41,8 +41,7 @@ void Qt5Graphics::SetFont(const FontSelectPattern* pReqFont, int nFallbackLevel) { if (!m_pTextStyle[i]) break; - m_pTextStyle[i]->Release(); - m_pTextStyle[i] = nullptr; + m_pTextStyle[i].clear(); } if (!pReqFont) @@ -51,8 +50,7 @@ void Qt5Graphics::SetFont(const FontSelectPattern* pReqFont, int nFallbackLevel) if (!pReqFont->mpFontInstance) return; - m_pTextStyle[nFallbackLevel] = static_cast<Qt5Font*>(pReqFont->mpFontInstance); - m_pTextStyle[nFallbackLevel]->Acquire(); + m_pTextStyle[nFallbackLevel] = static_cast<Qt5Font*>(pReqFont->mpFontInstance.get()); } void Qt5Graphics::GetFontMetric(ImplFontMetricDataRef& rFMD, int nFallbackLevel) @@ -137,7 +135,7 @@ bool Qt5Graphics::GetGlyphBoundRect(const GlyphItem& rGlyph, tools::Rectangle& r if (nLevel >= MAX_FALLBACK) return false; - Qt5Font* pFont = m_pTextStyle[nLevel]; + Qt5Font* pFont = m_pTextStyle[nLevel].get(); if (!pFont) return false; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits