From 98176bc2078d4ce18d4eb41b54b4ad1c72a2774d Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Tue, 21 Jan 2014 11:16:20 +0100 Subject: fdo#68959: sw: fix painting of tab fill characters in small caps text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The member SwDrawTextInfo::pPos was changed from a pointer to some externally provided Point to a real object; unfortunately there were some functions which hold backups of the current pPos as a reference/pointer and then restore it, and the restore is a no-op now. So use real Points as backups. (regression from f22006dc6ac34a35a060e15466cf6b2d2058617d) Change-Id: I8470143ec494cb194a88ddcbd12d96867974278f (cherry picked from commit c445d40da8daa2f6ec0ae9930a06f50ab80cc85d) Reviewed-on: https://gerrit.libreoffice.org/7567 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara Reviewed-by: Miklos Vajna --- sw/source/core/txtnode/swfont.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'sw/source/core/txtnode/swfont.cxx') diff --git a/sw/source/core/txtnode/swfont.cxx b/sw/source/core/txtnode/swfont.cxx index 2269f248e48e..21c6601e3601 100644 --- a/sw/source/core/txtnode/swfont.cxx +++ b/sw/source/core/txtnode/swfont.cxx @@ -1195,12 +1195,12 @@ void SwSubFont::_DrawText( SwDrawTextInfo &rInf, const sal_Bool bGrey ) SwDigitModeModifier aDigitModeModifier( rInf.GetOut(), rInf.GetFont()->GetLanguage() ); + const Point aOldPos(rInf.GetPos()); Point aPos( rInf.GetPos() ); if( GetEscapement() ) CalcEsc( rInf, aPos ); - const Point &rOld = rInf.GetPos(); rInf.SetPos( aPos ); rInf.SetKern( CheckKerning() + rInf.GetSperren() / SPACING_PRECISION_FACTOR ); @@ -1300,7 +1300,7 @@ void SwSubFont::_DrawText( SwDrawTextInfo &rInf, const sal_Bool bGrey ) rInf.SetLen( nOldLen ); } - rInf.SetPos( rOld ); + rInf.SetPos(aOldPos); } void SwSubFont::_DrawStretchText( SwDrawTextInfo &rInf ) @@ -1325,13 +1325,13 @@ void SwSubFont::_DrawStretchText( SwDrawTextInfo &rInf ) rInf.ApplyAutoColor(); + const Point aOldPos(rInf.GetPos()); Point aPos( rInf.GetPos() ); if( GetEscapement() ) CalcEsc( rInf, aPos ); rInf.SetKern( CheckKerning() + rInf.GetSperren() / SPACING_PRECISION_FACTOR ); - const Point &rOld = rInf.GetPos(); rInf.SetPos( aPos ); if( IsCapital() ) @@ -1382,7 +1382,7 @@ void SwSubFont::_DrawStretchText( SwDrawTextInfo &rInf ) rInf.SetLen( nOldLen ); } - rInf.SetPos( rOld ); + rInf.SetPos(aOldPos); } xub_StrLen SwSubFont::_GetCrsrOfst( SwDrawTextInfo& rInf ) -- cgit v1.2.3