[Libreoffice-commits] core.git: Branch 'libreoffice-4-1-5' - sw/source

Michael Stahl mstahl at redhat.com
Thu Jan 30 07:07:44 PST 2014


 sw/source/core/text/txtfly.cxx    |    6 +++---
 sw/source/core/txtnode/fntcap.cxx |    4 ++--
 sw/source/core/txtnode/swfont.cxx |    8 ++++----
 3 files changed, 9 insertions(+), 9 deletions(-)

New commits:
commit 28c613edb7bde90c49c61c56c9bb32fb312070e9
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Jan 21 11:16:20 2014 +0100

    fdo#68959: sw: fix painting of tab fill characters in small caps text
    
    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/7568
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit 7cdf5a6995a017e295e9b1099abc6dcb1987ae9e)
    Reviewed-on: https://gerrit.libreoffice.org/7576
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Reviewed-by: Norbert Thiebaud <nthiebaud at gmail.com>

diff --git a/sw/source/core/text/txtfly.cxx b/sw/source/core/text/txtfly.cxx
index 54635d7..3a140b6 100644
--- a/sw/source/core/text/txtfly.cxx
+++ b/sw/source/core/text/txtfly.cxx
@@ -568,7 +568,7 @@ sal_Bool SwTxtFly::DrawTextOpaque( SwDrawTextInfo &rInf )
     }
 
     Point aPos( rInf.GetPos().X(), rInf.GetPos().Y() + rInf.GetAscent() );
-    const Point &rOld = rInf.GetPos();
+    const Point aOldPos(rInf.GetPos());
     rInf.SetPos( aPos );
 
     if( !bOpaque )
@@ -577,7 +577,7 @@ sal_Bool SwTxtFly::DrawTextOpaque( SwDrawTextInfo &rInf )
             rInf.GetFont()->_DrawStretchText( rInf );
         else
             rInf.GetFont()->_DrawText( rInf );
-        rInf.SetPos( rOld );
+        rInf.SetPos(aOldPos);
         return sal_False;
     }
     else if( !aRegion.empty() )
@@ -595,7 +595,7 @@ sal_Bool SwTxtFly::DrawTextOpaque( SwDrawTextInfo &rInf )
                 rInf.GetFont()->_DrawText( rInf );
         }
     }
-    rInf.SetPos( rOld );
+    rInf.SetPos(aOldPos);
     return sal_True;
 }
 
diff --git a/sw/source/core/txtnode/fntcap.cxx b/sw/source/core/txtnode/fntcap.cxx
index 9735b2c..3f827f2 100644
--- a/sw/source/core/txtnode/fntcap.cxx
+++ b/sw/source/core/txtnode/fntcap.cxx
@@ -536,9 +536,9 @@ void SwSubFont::DrawStretchCapital( SwDrawTextInfo &rInf )
     if( rInf.GetLen() == STRING_LEN )
         rInf.SetLen( rInf.GetText().getLength() );
 
-    const Point& rOldPos = rInf.GetPos();
+    const Point aOldPos = rInf.GetPos();
     const sal_uInt16 nCapWidth = (sal_uInt16)( GetCapitalSize( rInf ).Width() );
-    rInf.SetPos( rOldPos );
+    rInf.SetPos(aOldPos);
 
     rInf.SetDrawSpace( GetUnderline() != UNDERLINE_NONE ||
                        GetOverline()  != UNDERLINE_NONE ||
diff --git a/sw/source/core/txtnode/swfont.cxx b/sw/source/core/txtnode/swfont.cxx
index 977b6d2..8a4ed6d 100644
--- a/sw/source/core/txtnode/swfont.cxx
+++ b/sw/source/core/txtnode/swfont.cxx
@@ -849,12 +849,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 );
 
@@ -955,7 +955,7 @@ static sal_Char const sDoubleSpace[] = "  ";
         rInf.SetLen( nOldLen );
     }
 
-    rInf.SetPos( rOld );
+    rInf.SetPos(aOldPos);
 }
 
 void SwSubFont::_DrawStretchText( SwDrawTextInfo &rInf )
@@ -980,13 +980,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() )
@@ -1038,7 +1038,7 @@ static sal_Char const sDoubleSpace[] = "  ";
         rInf.SetLen( nOldLen );
     }
 
-    rInf.SetPos( rOld );
+    rInf.SetPos(aOldPos);
 }
 
 /*************************************************************************


More information about the Libreoffice-commits mailing list