From 9a6e13a6f78fcc0fde57bddd409732e743ae6194 Mon Sep 17 00:00:00 2001 From: David Elliott Date: Mon, 9 Feb 2004 03:27:47 +0000 Subject: [PATCH] wxBitmap::GetNSImage(): Added trace messages. Release maskImage. 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 --- src/cocoa/bitmap.mm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cocoa/bitmap.mm b/src/cocoa/bitmap.mm index 2b13a11ef6..79ec8ebcf0 100644 --- a/src/cocoa/bitmap.mm +++ b/src/cocoa/bitmap.mm @@ -157,12 +157,17 @@ WX_NSImage wxBitmap::GetNSImage(bool useMask) const [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]; + [maskImage release]; + wxLogTrace(wxTRACE_COCOA,"After: bpp=%d",[M_BITMAPDATA->m_cocoaNSBitmapImageRep bitsPerPixel]); } return nsimage; } @@ -538,7 +543,8 @@ static bool wxMask_CreateFromBitmapData(PixelData srcData, const wxColour& colou } // Handle the remaining 0-7 pixels in the row unsigned char *dstByte = dstRow + width_aligned/8; - *dstByte = 0; + if(nCols%8>0) + *dstByte = 0; for(int j=0; j<(nCols%8); ++j, ++p) { *dstByte += -- 2.45.2