summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.com>2015-10-22 19:03:01 +0200
committerTomaž Vajngerl <tomaz.vajngerl@collabora.com>2015-10-22 19:16:14 +0200
commit825b3df7f1d987021ec4a08ff8e7ed78e5772c97 (patch)
treeea377df8cb251150d9606bf1c09a2dfbb7377b62 /vcl
parent8e49a523c932936c1e38e0d26e5946619c2ed321 (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
Diffstat (limited to 'vcl')
-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 d287058916a4..b5ed8b1b596e 100644
--- a/vcl/source/control/edit.cxx
+++ b/vcl/source/control/edit.cxx
@@ -506,6 +506,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 e90569b2163a..5eaaf6f0eabe 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 );