[Libreoffice-commits] core.git: vcl/source
Jochen Nitschke
j.nitschke+logerrit at ok.de
Mon Mar 13 05:18:02 UTC 2017
vcl/source/gdi/bmpacc2.cxx | 36 ++++++++++++++++++++++++------------
1 file changed, 24 insertions(+), 12 deletions(-)
New commits:
commit b8261a99ae537078e0bc1c62154fc6c66c7556b4
Author: Jochen Nitschke <j.nitschke+logerrit at ok.de>
Date: Sun Mar 12 15:22:18 2017 +0100
improve readability
and make it easier to debug.
top crasher in 5.3.0.3 is around this area:
https://cgit.freedesktop.org/libreoffice/core/tree/vcl/source/gdi/
bmpacc2.cxx?h=libreoffice-5.3.0.3#n235
http://crashreport.libreoffice.org/stats/signature/
BitmapReadAccess::GetPixelForN32BitTcRgba(
unsigned%20char%20const%20*,long,ColorMask%20const%20&)#summary
in case someone wonders suffix increment '++' precedes dereference '*'
Change-Id: I15876711db569d55739da3514f61ef1b981269ab
Reviewed-on: https://gerrit.libreoffice.org/35099
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/vcl/source/gdi/bmpacc2.cxx b/vcl/source/gdi/bmpacc2.cxx
index 83391d1..ab67ddd 100644
--- a/vcl/source/gdi/bmpacc2.cxx
+++ b/vcl/source/gdi/bmpacc2.cxx
@@ -127,7 +127,8 @@ BitmapColor BitmapReadAccess::GetPixelForN24BitTcBgr(ConstScanline pScanline, lo
{
BitmapColor aBitmapColor;
- aBitmapColor.SetBlue( *( pScanline = pScanline + nX * 3 )++ );
+ pScanline = pScanline + nX * 3;
+ aBitmapColor.SetBlue( *pScanline++ );
aBitmapColor.SetGreen( *pScanline++ );
aBitmapColor.SetRed( *pScanline );
@@ -136,7 +137,8 @@ BitmapColor BitmapReadAccess::GetPixelForN24BitTcBgr(ConstScanline pScanline, lo
void BitmapReadAccess::SetPixelForN24BitTcBgr(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{
- *( pScanline = pScanline + nX * 3 )++ = rBitmapColor.GetBlue();
+ pScanline = pScanline + nX * 3;
+ *pScanline++ = rBitmapColor.GetBlue();
*pScanline++ = rBitmapColor.GetGreen();
*pScanline = rBitmapColor.GetRed();
}
@@ -145,7 +147,8 @@ BitmapColor BitmapReadAccess::GetPixelForN24BitTcRgb(ConstScanline pScanline, lo
{
BitmapColor aBitmapColor;
- aBitmapColor.SetRed( *( pScanline = pScanline + nX * 3 )++ );
+ pScanline = pScanline + nX * 3;
+ aBitmapColor.SetRed( *pScanline++ );
aBitmapColor.SetGreen( *pScanline++ );
aBitmapColor.SetBlue( *pScanline );
@@ -154,7 +157,8 @@ BitmapColor BitmapReadAccess::GetPixelForN24BitTcRgb(ConstScanline pScanline, lo
void BitmapReadAccess::SetPixelForN24BitTcRgb(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{
- *( pScanline = pScanline + nX * 3 )++ = rBitmapColor.GetRed();
+ pScanline = pScanline + nX * 3;
+ *pScanline++ = rBitmapColor.GetRed();
*pScanline++ = rBitmapColor.GetGreen();
*pScanline = rBitmapColor.GetBlue();
}
@@ -163,7 +167,8 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcAbgr(ConstScanline pScanline, l
{
BitmapColor aBitmapColor;
- aBitmapColor.SetBlue( *( pScanline = pScanline + ( nX << 2 ) + 1 )++ );
+ pScanline = pScanline + ( nX << 2 ) + 1;
+ aBitmapColor.SetBlue( *pScanline++ );
aBitmapColor.SetGreen( *pScanline++ );
aBitmapColor.SetRed( *pScanline );
@@ -172,7 +177,8 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcAbgr(ConstScanline pScanline, l
void BitmapReadAccess::SetPixelForN32BitTcAbgr(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{
- *( pScanline = pScanline + ( nX << 2 ) )++ = 0xFF;
+ pScanline = pScanline + ( nX << 2 );
+ *pScanline++ = 0xFF;
*pScanline++ = rBitmapColor.GetBlue();
*pScanline++ = rBitmapColor.GetGreen();
*pScanline = rBitmapColor.GetRed();
@@ -182,7 +188,8 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcArgb(ConstScanline pScanline, l
{
BitmapColor aBitmapColor;
- aBitmapColor.SetRed( *( pScanline = pScanline + ( nX << 2 ) + 1 )++ );
+ pScanline = pScanline + ( nX << 2 ) + 1;
+ aBitmapColor.SetRed( *pScanline++ );
aBitmapColor.SetGreen( *pScanline++ );
aBitmapColor.SetBlue( *pScanline );
@@ -191,7 +198,8 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcArgb(ConstScanline pScanline, l
void BitmapReadAccess::SetPixelForN32BitTcArgb(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{
- *( pScanline = pScanline + ( nX << 2 ) )++ = 0xFF;
+ pScanline = pScanline + ( nX << 2 );
+ *pScanline++ = 0xFF;
*pScanline++ = rBitmapColor.GetRed();
*pScanline++ = rBitmapColor.GetGreen();
*pScanline = rBitmapColor.GetBlue();
@@ -201,7 +209,8 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcBgra(ConstScanline pScanline, l
{
BitmapColor aBitmapColor;
- aBitmapColor.SetBlue( *( pScanline = pScanline + ( nX << 2 ) )++ );
+ pScanline = pScanline + ( nX << 2 );
+ aBitmapColor.SetBlue( *pScanline++ );
aBitmapColor.SetGreen( *pScanline++ );
aBitmapColor.SetRed( *pScanline );
@@ -210,7 +219,8 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcBgra(ConstScanline pScanline, l
void BitmapReadAccess::SetPixelForN32BitTcBgra(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{
- *( pScanline = pScanline + ( nX << 2 ) )++ = rBitmapColor.GetBlue();
+ pScanline = pScanline + ( nX << 2 );
+ *pScanline++ = rBitmapColor.GetBlue();
*pScanline++ = rBitmapColor.GetGreen();
*pScanline++ = rBitmapColor.GetRed();
*pScanline = 0xFF;
@@ -220,7 +230,8 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcRgba(ConstScanline pScanline, l
{
BitmapColor aBitmapColor;
- aBitmapColor.SetRed( *( pScanline = pScanline + ( nX << 2 ) )++ );
+ pScanline = pScanline + ( nX << 2 );
+ aBitmapColor.SetRed( *pScanline++ );
aBitmapColor.SetGreen( *pScanline++ );
aBitmapColor.SetBlue( *pScanline );
@@ -229,7 +240,8 @@ BitmapColor BitmapReadAccess::GetPixelForN32BitTcRgba(ConstScanline pScanline, l
void BitmapReadAccess::SetPixelForN32BitTcRgba(Scanline pScanline, long nX, const BitmapColor& rBitmapColor, const ColorMask&)
{
- *( pScanline = pScanline + ( nX << 2 ) )++ = rBitmapColor.GetRed();
+ pScanline = pScanline + ( nX << 2 );
+ *pScanline++ = rBitmapColor.GetRed();
*pScanline++ = rBitmapColor.GetGreen();
*pScanline++ = rBitmapColor.GetBlue();
*pScanline = 0xFF;
More information about the Libreoffice-commits
mailing list