diff options
author | László Németh <laszlo.nemeth@collabora.com> | 2015-07-03 18:50:05 +0200 |
---|---|---|
committer | Adolfo Jayme Barrientos <fitojb@ubuntu.com> | 2015-07-04 16:18:37 +0000 |
commit | ac7cc2b709469f1b88fe67dd8d069512ade6eb1c (patch) | |
tree | a42d4e6467507307c70fa52d13559d06ee89677a /svx | |
parent | 3a19e79e8203de59d039da962aa07b0ac1bcab85 (diff) |
tdf#92241 fix crashes and rendering of symbol set previews
Change-Id: I43397f2b0caa31c334f87acf11fc96df2e051ad8
Reviewed-on: https://gerrit.libreoffice.org/16744
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/dialog/charmap.cxx | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx index 9d0c9a58c960..f5e95955f84a 100644 --- a/svx/source/dialog/charmap.cxx +++ b/svx/source/dialog/charmap.cxx @@ -57,6 +57,7 @@ sal_uInt32& SvxShowCharSet::getSelectedChar() SvxShowCharSet::SvxShowCharSet(vcl::Window* pParent) : Control(pParent, WB_TABSTOP | WB_BORDER) , m_pAccessible(nullptr) + , maFontSize(0, 0) , aVscrollSB( VclPtr<ScrollBar>::Create(this, WB_VERT) ) , mbRecalculateFont(true) , mbUpdateForeground(true) @@ -114,6 +115,7 @@ void SvxShowCharSet::StateChanged(StateChangedType nType) Invalidate(); Control::StateChanged( nType ); + } @@ -331,6 +333,12 @@ void SvxShowCharSet::Paint( vcl::RenderContext& rRenderContext, const Rectangle& DrawChars_Impl(rRenderContext, FirstInView(), LastInView()); } +void SvxShowCharSet::SetFont( const vcl::Font& rFont ) +{ + Control::SetFont(rFont); + Invalidate(); +} + void SvxShowCharSet::DeSelect() { Invalidate(); @@ -506,6 +514,14 @@ void SvxShowCharSet::InitSettings(vcl::RenderContext& rRenderContext) mbUpdateBackground = false; } + + vcl::Font aFont(rRenderContext.GetFont()); + aFont.SetWeight(WEIGHT_LIGHT); + aFont.SetAlign(ALIGN_TOP); + aFont.SetSize(maFontSize); + aFont.SetTransparent(true); + rRenderContext.SetFont(aFont); + } @@ -536,7 +552,8 @@ void SvxShowCharSet::RecalculateFont(vcl::RenderContext& rRenderContext) aFont.SetWeight(WEIGHT_LIGHT); aFont.SetAlign(ALIGN_TOP); int nFontHeight = (aSize.Height() - 5) * 2 / (3 * ROW_COUNT); - aFont.SetSize(rRenderContext.PixelToLogic(Size(0, nFontHeight))); + maFontSize = rRenderContext.PixelToLogic(Size(0, nFontHeight)); + aFont.SetSize(maFontSize); aFont.SetTransparent(true); rRenderContext.SetFont(aFont); rRenderContext.GetFontCharMap(mpFontCharMap); |