diff options
author | Oliver Bolte <obo@openoffice.org> | 2009-02-17 10:33:03 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2009-02-17 10:33:03 +0000 |
commit | def439bf61a0ee058cb99ec1895d052a10fa4a19 (patch) | |
tree | 1cbab88198474baf91b73e8bd52dc048127567b1 /vcl/source/gdi/bmpacc.cxx | |
parent | 1b52154648707fd93d6c0147d243b803a1f25711 (diff) |
CWS-TOOLING: integrate CWS vcl99
2009-01-29 15:34:04 +0100 hdu r267149 : #i77520# fix AquaSalGraphics::GetGlyphBoundRect() result y-sign
2009-01-29 10:14:23 +0100 hdu r267099 : #i77520# implement AquaSalGraphics::GetGlyphBoundRect()
2009-01-28 17:31:17 +0100 hdu r267071 : #i79046# restore MultiSalLayout components after drawing them
2009-01-28 12:02:19 +0100 tl r267050 : #78466# default curreny listbox for Arabic builds fixed
2009-01-28 11:54:21 +0100 tl r267049 : #78466# default curreny listbox for Arabic builds fixed
2009-01-28 11:43:44 +0100 tl r267047 : #78466# default curreny listbox for Arabic builds fixed
2009-01-28 11:17:42 +0100 tl r267041 : #78466# default curreny listbox for Arabic builds fixed
2009-01-28 11:14:30 +0100 tl r267038 : #78466# default curreny listbox for Arabic builds fixed
2009-01-28 10:33:03 +0100 tl r267032 : #i72073# auto spellcheck markups in RTL context fixed
2009-01-28 09:26:00 +0100 tl r267027 : #78466# default curreny listbox for Arabic builds fixed
2009-01-28 09:25:31 +0100 tl r267026 : #78466# default curreny listbox for Arabic builds fixed
2009-01-27 16:55:14 +0100 tl r267009 : #78466# default curreny listbox for Arabic builds fixed
2009-01-27 16:54:46 +0100 tl r267008 : #78466# default curreny listbox for Arabic builds fixed
2009-01-27 16:52:23 +0100 tl r267007 : #78466# default curreny listbox for Arabic builds fixed
2009-01-27 16:46:52 +0100 tl r267006 : #i72073# auto spellcheck markups in RTL context fixed
2009-01-27 11:53:53 +0100 pl r266975 : #i98515# fix a buffer overflow
2009-01-26 19:13:28 +0100 pl r266946 : #i98119# add static vcl object helper
2009-01-26 18:11:06 +0100 pl r266940 : #i94040# catch a corner case (thanks af)
2009-01-23 10:54:42 +0100 pl r266793 : #i92102# fix some RTL UI issues
2009-01-23 10:53:35 +0100 pl r266790 : #i98169# one more case of DrawWaveLine
2009-01-23 08:38:32 +0100 hdu r266768 : #i98139# prefer Tools->Options->FontSubstitution over PreMatchHook
2009-01-21 17:30:57 +0100 pl r266694 : #i92102# adjust spin buttons
2009-01-21 13:54:16 +0100 pl r266667 : #i97130# add Click handler
2009-01-21 13:32:47 +0100 os r266662 : #158646# set SwWrtShell in C'tor of SwIndexMarkDlg
2009-01-21 12:14:03 +0100 pl r266649 : #i98196# fix autospellchecking in writer
2009-01-19 14:25:28 +0100 pl r266497 : #i97130# implement functionality of ExplainButton
Diffstat (limited to 'vcl/source/gdi/bmpacc.cxx')
-rw-r--r-- | vcl/source/gdi/bmpacc.cxx | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/vcl/source/gdi/bmpacc.cxx b/vcl/source/gdi/bmpacc.cxx index 3e2ab3205d9c..36a4fc5f5f24 100644 --- a/vcl/source/gdi/bmpacc.cxx +++ b/vcl/source/gdi/bmpacc.cxx @@ -265,20 +265,23 @@ void BitmapReadAccess::ImplZeroInitUnusedBits() DBG_ASSERT( 8*nScanSize >= nBits, "BitmapWriteAccess::ZeroInitUnusedBits: span size smaller than width?!"); const sal_uInt32 nLeftOverBits = 8*sizeof(sal_uInt8)*nScanSize - nBits; - const sal_uInt32 nBytes = (nLeftOverBits + 7U) >> 3U; - sal_uInt8 nMask; - - if( bMsb ) - nMask = static_cast<sal_uInt8>(0xffU << (nLeftOverBits & 3UL)); - else - nMask = static_cast<sal_uInt8>(0xffU >> (nLeftOverBits & 3UL)); - - BYTE* pLastBytes = (BYTE*)GetBuffer() + ( nScanSize - nBytes ); - for( sal_uInt32 i = 0; i < nHeight; i++, pLastBytes += nScanSize ) + if( nLeftOverBits != 0 ) // else there is really nothing to do { - *pLastBytes &= nMask; - for( sal_uInt32 j = 1; j < nBytes; j++ ) - pLastBytes[j] = 0; + const sal_uInt32 nBytes = (nLeftOverBits + 7U) >> 3U; + sal_uInt8 nMask; + + if( bMsb ) + nMask = static_cast<sal_uInt8>(0xffU << (nLeftOverBits & 3UL)); + else + nMask = static_cast<sal_uInt8>(0xffU >> (nLeftOverBits & 3UL)); + + BYTE* pLastBytes = (BYTE*)GetBuffer() + ( nScanSize - nBytes ); + for( sal_uInt32 i = 0; i < nHeight; i++, pLastBytes += nScanSize ) + { + *pLastBytes &= nMask; + for( sal_uInt32 j = 1; j < nBytes; j++ ) + pLastBytes[j] = 0; + } } } else if( nBits & 0x1f ) |