wxMask_CreateFromBitmapData(): Don't clobber byte past the end of dest buffer.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25677
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
[nsimage addRepresentation: M_BITMAPDATA->m_cocoaNSBitmapImageRep];
if(useMask && GetMask())
{
[nsimage addRepresentation: M_BITMAPDATA->m_cocoaNSBitmapImageRep];
if(useMask && GetMask())
{
+ // Show before/after to prove that the bitmap itself is not changed
+ // even though we just composited onto the NSImage
+ wxLogTrace(wxTRACE_COCOA,"Before: bpp=%d",[M_BITMAPDATA->m_cocoaNSBitmapImageRep bitsPerPixel]);
NSImage *maskImage = [[NSImage alloc]
initWithSize:NSMakeSize(GetWidth(), GetHeight())];
[maskImage addRepresentation: GetMask()->GetNSBitmapImageRep()];
[nsimage lockFocus];
[maskImage compositeToPoint:NSZeroPoint operation:NSCompositeDestinationIn];
[nsimage unlockFocus];
NSImage *maskImage = [[NSImage alloc]
initWithSize:NSMakeSize(GetWidth(), GetHeight())];
[maskImage addRepresentation: GetMask()->GetNSBitmapImageRep()];
[nsimage lockFocus];
[maskImage compositeToPoint:NSZeroPoint operation:NSCompositeDestinationIn];
[nsimage unlockFocus];
+ [maskImage release];
+ wxLogTrace(wxTRACE_COCOA,"After: bpp=%d",[M_BITMAPDATA->m_cocoaNSBitmapImageRep bitsPerPixel]);
}
// Handle the remaining 0-7 pixels in the row
unsigned char *dstByte = dstRow + width_aligned/8;
}
// Handle the remaining 0-7 pixels in the row
unsigned char *dstByte = dstRow + width_aligned/8;
+ if(nCols%8>0)
+ *dstByte = 0;
for(int j=0; j<(nCols%8); ++j, ++p)
{
*dstByte +=
for(int j=0; j<(nCols%8); ++j, ++p)
{
*dstByte +=