Kaydet (Commit) 0672b7a9 authored tarafından Caolán McNamara's avatar Caolán McNamara

silence more valgrind spew on scanline-extended deadspace

Change-Id: I8607d9d405a3996699ef85564938628624987385
üst e35b1d8b
...@@ -429,6 +429,13 @@ vcl_headless_code=\ ...@@ -429,6 +429,13 @@ vcl_headless_code=\
vcl/headless/svptext \ vcl/headless/svptext \
vcl/headless/svpvd vcl/headless/svpvd
$(eval $(call gb_Library_add_defs,vcl,\
$(if $(VALGRIND_CFLAGS), \
$(VALGRIND_CFLAGS) \
-DHAVE_MEMCHECK_H=1 \
) \
))
ifeq ($(GUIBASE),unx) ifeq ($(GUIBASE),unx)
$(eval $(call gb_Library_add_defs,vcl,\ $(eval $(call gb_Library_add_defs,vcl,\
-DSAL_DLLPREFIX=\"$(gb_Library_SYSPRE)\" \ -DSAL_DLLPREFIX=\"$(gb_Library_SYSPRE)\" \
......
...@@ -36,6 +36,10 @@ ...@@ -36,6 +36,10 @@
#include <utility> #include <utility>
#if defined(HAVE_MEMCHECK_H)
#include <memcheck.h>
#endif
// ----------- // -----------
// - Defines - // - Defines -
...@@ -903,6 +907,18 @@ sal_Bool Bitmap::ImplWriteDIBPalette( SvStream& rOStm, BitmapReadAccess& rAcc ) ...@@ -903,6 +907,18 @@ sal_Bool Bitmap::ImplWriteDIBPalette( SvStream& rOStm, BitmapReadAccess& rAcc )
// ------------------------------------------------------------------ // ------------------------------------------------------------------
#if defined(HAVE_MEMCHECK_H)
namespace
{
void blankExtraSpace(sal_uInt8 *pBits, long nWidth, long nScanlineSize, int nBitCount)
{
size_t nExtraSpaceInScanLine = nScanlineSize - nWidth * nBitCount / 8;
if (nExtraSpaceInScanLine)
memset(pBits + (nScanlineSize - nExtraSpaceInScanLine), 0, nExtraSpaceInScanLine);
}
}
#endif
sal_Bool Bitmap::ImplWriteDIBBits( SvStream& rOStm, BitmapReadAccess& rAcc, sal_Bool Bitmap::ImplWriteDIBBits( SvStream& rOStm, BitmapReadAccess& rAcc,
sal_uLong nCompression, sal_uInt32& rImageSize ) sal_uLong nCompression, sal_uInt32& rImageSize )
{ {
...@@ -975,6 +991,10 @@ sal_Bool Bitmap::ImplWriteDIBBits( SvStream& rOStm, BitmapReadAccess& rAcc, ...@@ -975,6 +991,10 @@ sal_Bool Bitmap::ImplWriteDIBBits( SvStream& rOStm, BitmapReadAccess& rAcc,
const long nWidth = rAcc.Width(); const long nWidth = rAcc.Width();
const long nHeight = rAcc.Height(); const long nHeight = rAcc.Height();
sal_uInt8* pBuf = new sal_uInt8[ nAlignedWidth ]; sal_uInt8* pBuf = new sal_uInt8[ nAlignedWidth ];
#if defined(HAVE_MEMCHECK_H)
if (RUNNING_ON_VALGRIND)
blankExtraSpace(pBuf, nWidth, nAlignedWidth, discretizeBitcount(nBitCount));
#endif
sal_uInt8* pTmp; sal_uInt8* pTmp;
sal_uInt8 cTmp; sal_uInt8 cTmp;
......
...@@ -118,15 +118,18 @@ void X11SalBitmap::ImplRemovedFromCache() ...@@ -118,15 +118,18 @@ void X11SalBitmap::ImplRemovedFromCache()
} }
#if defined(HAVE_MEMCHECK_H) #if defined(HAVE_MEMCHECK_H)
void blankExtraSpace(BitmapBuffer* pDIB) namespace
{ {
size_t nExtraSpaceInScanLine = pDIB->mnScanlineSize - pDIB->mnWidth * pDIB->mnBitCount / 8; void blankExtraSpace(BitmapBuffer* pDIB)
if (nExtraSpaceInScanLine)
{ {
for (long i = 0; i < pDIB->mnHeight; ++i) size_t nExtraSpaceInScanLine = pDIB->mnScanlineSize - pDIB->mnWidth * pDIB->mnBitCount / 8;
if (nExtraSpaceInScanLine)
{ {
sal_uInt8 *pRow = pDIB->mpBits + (i * pDIB->mnScanlineSize); for (long i = 0; i < pDIB->mnHeight; ++i)
memset(pRow + (pDIB->mnScanlineSize - nExtraSpaceInScanLine), 0, nExtraSpaceInScanLine); {
sal_uInt8 *pRow = pDIB->mpBits + (i * pDIB->mnScanlineSize);
memset(pRow + (pDIB->mnScanlineSize - nExtraSpaceInScanLine), 0, nExtraSpaceInScanLine);
}
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment