Bug 205893 - use DIBSection instead of DIBitmap. Patch by sring@gmx.net,
r=ere, sr=tor, a=chofmann git-svn-id: svn://10.0.0.236/trunk@153915 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
b4fa944df8
commit
1a09f51855
@ -1465,11 +1465,17 @@ nsImageWin :: Optimize(nsIDeviceContext* aContext)
|
||||
if (mAlphaDepth == 8) {
|
||||
CreateImageWithAlphaBits(TheHDC);
|
||||
} else {
|
||||
mHBitmap = ::CreateDIBitmap(TheHDC, mBHead, CBM_INIT, mImageBits,
|
||||
(LPBITMAPINFO)mBHead,
|
||||
256 == mNumPaletteColors ? DIB_PAL_COLORS
|
||||
: DIB_RGB_COLORS);
|
||||
mIsOptimized = (mHBitmap != 0);
|
||||
LPVOID bits;
|
||||
mHBitmap = ::CreateDIBSection(TheHDC, (LPBITMAPINFO)mBHead,
|
||||
256 == mNumPaletteColors ? DIB_PAL_COLORS : DIB_RGB_COLORS,
|
||||
&bits, NULL, 0);
|
||||
|
||||
if (mHBitmap) {
|
||||
memcpy(bits, mImageBits, mSizeImage);
|
||||
mIsOptimized = PR_TRUE;
|
||||
} else {
|
||||
mIsOptimized = PR_FALSE;
|
||||
}
|
||||
}
|
||||
if (mIsOptimized)
|
||||
CleanUpDIB();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user