summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@gmail.com>2016-01-11 21:32:55 +0100
committerDavid Tardon <dtardon@redhat.com>2016-01-12 08:00:07 +0000
commit4b2007997fd6b061702515e5d708ccbe5f03c161 (patch)
tree0a4a58794e39377d710252fdd7261204f232ea7f /vcl
parent8c65cd00fee2554d6fe40e4da691b04ef79116fc (diff)
tdf#94831: Check for null mpReadAccess before first use
There was erroneously added code before check in 45e8e0fbee40f9a8d91f4c559c8bbb16dd7b3f36. Change-Id: Ie2e84cfc061097c25e5d799e9c388abd9724bd93 (cherry picked from commit d5dcfe40ff3774d82a7b8f9f3d75b5b3cdac78ba) Reviewed-on: https://gerrit.libreoffice.org/21371 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/filter/jpeg/JpegWriter.cxx39
1 files changed, 18 insertions, 21 deletions
diff --git a/vcl/source/filter/jpeg/JpegWriter.cxx b/vcl/source/filter/jpeg/JpegWriter.cxx
index cb1a67f90712..38c65a504027 100644
--- a/vcl/source/filter/jpeg/JpegWriter.cxx
+++ b/vcl/source/filter/jpeg/JpegWriter.cxx
@@ -199,32 +199,29 @@ bool JPEGWriter::Write( const Graphic& rGraphic )
}
mpReadAccess = aGraphicBmp.AcquireReadAccess();
+ if( mpReadAccess )
+ {
+ if ( !mbGreys ) // bitmap was not explicitly converted into greyscale,
+ { // check if source is greyscale only
+ bool bIsGrey = true;
- if ( !mbGreys ) // bitmap was not explicitly converted into greyscale,
- { // check if source is greyscale only
-
- bool bIsGrey = true;
-
- long nWidth = mpReadAccess->Width();
- for ( long nY = 0; bIsGrey && ( nY < mpReadAccess->Height() ); nY++ )
- {
- BitmapColor aColor;
- for( long nX = 0L; bIsGrey && ( nX < nWidth ); nX++ )
+ long nWidth = mpReadAccess->Width();
+ for ( long nY = 0; bIsGrey && ( nY < mpReadAccess->Height() ); nY++ )
{
- aColor = mpReadAccess->HasPalette() ? mpReadAccess->GetPaletteColor( mpReadAccess->GetPixelIndex( nY, nX ) )
- : mpReadAccess->GetPixel( nY, nX );
- bIsGrey = ( aColor.GetRed() == aColor.GetGreen() ) && ( aColor.GetRed() == aColor.GetBlue() );
+ BitmapColor aColor;
+ for( long nX = 0L; bIsGrey && ( nX < nWidth ); nX++ )
+ {
+ aColor = mpReadAccess->HasPalette() ? mpReadAccess->GetPaletteColor( mpReadAccess->GetPixelIndex( nY, nX ) )
+ : mpReadAccess->GetPixel( nY, nX );
+ bIsGrey = ( aColor.GetRed() == aColor.GetGreen() ) && ( aColor.GetRed() == aColor.GetBlue() );
+ }
}
+ if ( bIsGrey )
+ mbGreys = true;
}
- if ( bIsGrey )
- mbGreys = true;
- }
+ if( mpExpWasGrey )
+ *mpExpWasGrey = mbGreys;
- if( mpExpWasGrey )
- *mpExpWasGrey = mbGreys;
-
- if( mpReadAccess )
- {
mbNative = ( mpReadAccess->GetScanlineFormat() == BMP_FORMAT_24BIT_TC_RGB );
if( !mbNative )