summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.com>2015-10-22 19:03:01 +0200
committerJan Holesovsky <kendy@collabora.com>2015-10-23 06:35:59 +0000
commit356ac58e6ac6d6c37f4aaffe29099994fe118eaf (patch)
tree9bc99c927290d8fbc1f0b09c6adfec16f1dd6b74
parent0c8d1c04a30ea5df783f758cf6744b2918643c0d (diff)
tdf#94138 fix printing of edit form fields
There are 2 bugs: - In Window::GetDrawPixelFont we asked for the font to the current window, which didn't work correctly when printing. The device itself should provide the font and not the window. - In paint method the font wasn't setup correctly which should happen before painting by calling ApplySettings. The effect of this is that print preview didn't show the correct font for the edit control and similar when you copy + paste the edit control. The work around for this is to call ApplySettings again. Change-Id: I74960355823c71c1d5a18a82bbc86561a3c4b760 (cherry picked from commit 825b3df7f1d987021ec4a08ff8e7ed78e5772c97) Reviewed-on: https://gerrit.libreoffice.org/19530 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
-rw-r--r--vcl/source/control/edit.cxx2
-rw-r--r--vcl/source/window/window2.cxx2
2 files changed, 3 insertions, 1 deletions
diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx
index d83b7f297b97..325084582fb1 100644
--- a/vcl/source/control/edit.cxx
+++ b/vcl/source/control/edit.cxx
@@ -495,6 +495,8 @@ void Edit::ImplRepaint(vcl::RenderContext& rRenderContext, const Rectangle& rRec
if (!IsReallyVisible())
return;
+ ApplySettings(rRenderContext);
+
OUString aText = ImplGetText();
sal_Int32 nLen = aText.getLength();
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index e3c19d586440..0be48c760842 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -654,7 +654,7 @@ Size Window::CalcOutputSize( const Size& rWinSz ) const
vcl::Font Window::GetDrawPixelFont(OutputDevice* pDev) const
{
- vcl::Font aFont = GetPointFont(*const_cast<Window*>(this));
+ vcl::Font aFont = GetPointFont(*pDev);
Size aFontSize = aFont.GetSize();
MapMode aPtMapMode(MAP_POINT);
aFontSize = pDev->LogicToPixel( aFontSize, aPtMapMode );