diff --git a/canvas/source/cairo/cairo_canvashelper.cxx b/canvas/source/cairo/cairo_canvashelper.cxx index f1c54e9b4ab7..9cf2dd978759 100644 --- a/canvas/source/cairo/cairo_canvashelper.cxx +++ b/canvas/source/cairo/cairo_canvashelper.cxx @@ -888,7 +888,7 @@ namespace cairocanvas nY = aP.getY(); cairo_matrix_transform_point( &aOrigMatrix, &nX, &nY ); - if( ! bIsBezier && bIsRectangle ) { + if( ! bIsBezier && (bIsRectangle || aOperation == Clip) ) { nX = basegfx::fround( nX ); nY = basegfx::fround( nY ); } diff --git a/svtools/source/control/scrwin.cxx b/svtools/source/control/scrwin.cxx index 9805110c9254..162f23948385 100644 --- a/svtools/source/control/scrwin.cxx +++ b/svtools/source/control/scrwin.cxx @@ -273,8 +273,8 @@ void __EXPORT ScrollableWindow::Resize() // disable painting in the corner between the scrollbars if ( bVVisible && bHVisible ) { - aCornerWin.SetPosSizePixel( - *((Point*) &aOutPixSz), Size(nScrSize, nScrSize) ); + aCornerWin.SetPosSizePixel(Point(aOutPixSz.Width(), aOutPixSz.Height()), + Size(nScrSize, nScrSize) ); aCornerWin.Show(); } else diff --git a/vcl/source/glyphs/gcach_ftyp.cxx b/vcl/source/glyphs/gcach_ftyp.cxx index d149ee26284f..591557eaa091 100644 --- a/vcl/source/glyphs/gcach_ftyp.cxx +++ b/vcl/source/glyphs/gcach_ftyp.cxx @@ -1058,7 +1058,7 @@ static inline void SplitGlyphFlags( const FreetypeServerFont& rFont, int& nGlyph // ----------------------------------------------------------------------- int FreetypeServerFont::ApplyGlyphTransform( int nGlyphFlags, - FT_GlyphRec_* pGlyphFT, bool bForBitmapProcessing ) const + FT_Glyph pGlyphFT, bool bForBitmapProcessing ) const { int nAngle = GetFontSelData().mnOrientation; // shortcut most common case @@ -1130,9 +1130,9 @@ int FreetypeServerFont::ApplyGlyphTransform( int nGlyphFlags, else { // FT<=2005 ignores transforms for bitmaps, so do it manually - FT_BitmapGlyph& rBmpGlyphFT = reinterpret_cast(pGlyphFT); - rBmpGlyphFT->left += (aVector.x + 32) >> 6; - rBmpGlyphFT->top += (aVector.y + 32) >> 6; + FT_BitmapGlyph pBmpGlyphFT = reinterpret_cast(pGlyphFT); + pBmpGlyphFT->left += (aVector.x + 32) >> 6; + pBmpGlyphFT->top += (aVector.y + 32) >> 6; } return nAngle; @@ -1440,12 +1440,12 @@ bool FreetypeServerFont::GetGlyphBitmap1( int nGlyphIndex, RawBitmap& rRawBitmap } } - const FT_BitmapGlyph& rBmpGlyphFT = reinterpret_cast(pGlyphFT); + const FT_BitmapGlyph pBmpGlyphFT = reinterpret_cast(pGlyphFT); // NOTE: autohinting in FT<=2.0.2 miscalculates the offsets below by +-1 - rRawBitmap.mnXOffset = +rBmpGlyphFT->left; - rRawBitmap.mnYOffset = -rBmpGlyphFT->top; + rRawBitmap.mnXOffset = +pBmpGlyphFT->left; + rRawBitmap.mnYOffset = -pBmpGlyphFT->top; - const FT_Bitmap& rBitmapFT = rBmpGlyphFT->bitmap; + const FT_Bitmap& rBitmapFT = pBmpGlyphFT->bitmap; rRawBitmap.mnHeight = rBitmapFT.rows; rRawBitmap.mnBitCount = 1; if( mbArtBold && !pFTEmbolden ) @@ -1595,11 +1595,11 @@ bool FreetypeServerFont::GetGlyphBitmap8( int nGlyphIndex, RawBitmap& rRawBitmap } } - const FT_BitmapGlyph& rBmpGlyphFT = reinterpret_cast(pGlyphFT); - rRawBitmap.mnXOffset = +rBmpGlyphFT->left; - rRawBitmap.mnYOffset = -rBmpGlyphFT->top; + const FT_BitmapGlyph pBmpGlyphFT = reinterpret_cast(pGlyphFT); + rRawBitmap.mnXOffset = +pBmpGlyphFT->left; + rRawBitmap.mnYOffset = -pBmpGlyphFT->top; - const FT_Bitmap& rBitmapFT = rBmpGlyphFT->bitmap; + const FT_Bitmap& rBitmapFT = pBmpGlyphFT->bitmap; rRawBitmap.mnHeight = rBitmapFT.rows; rRawBitmap.mnWidth = rBitmapFT.width; rRawBitmap.mnBitCount = 8;