From bbe295ba4d984fd7ba50baa6017189b33206b3d9 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Wed, 28 Nov 2007 09:52:19 +0000 Subject: [PATCH] fixing potential alignment error git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@50307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/mac/carbon/bitmap.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/mac/carbon/bitmap.cpp b/src/mac/carbon/bitmap.cpp index c2ebd2b1d4..6aeae8722e 100644 --- a/src/mac/carbon/bitmap.cpp +++ b/src/mac/carbon/bitmap.cpp @@ -769,8 +769,16 @@ CGImageRef wxBitmapRefData::CGImageCreate() const unsigned char * maskBufData = (unsigned char *) maskBuf->GetData(); unsigned char * bufData = (unsigned char *) membuf->GetData() ; // copy one color component - for( int i = 0 ; i < m_width * m_height ; ++i ) - maskBufData[i] = bufData[i*4+3]; + size_t i = 0; + for( int y = 0 ; y < m_height ; bufData+= m_bytesPerRow, ++y ) + { + unsigned char *bufDataIter = bufData+3; + for ( int x = 0 ; x < m_width ; bufDataIter += 4, ++x, ++i ) + { + maskBufData[i] = *bufDataIter; + } + } + dataProvider = CGDataProviderCreateWithData( maskBuf , (const void *) maskBufData , m_width * m_height,