guard against nullptr
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1638,26 +1638,29 @@ bool wxMask::Create(const wxBitmap& bitmap)
|
|||||||
size_t size = m_bytesPerRow * m_height ;
|
size_t size = m_bytesPerRow * m_height ;
|
||||||
unsigned char * destdatabase = (unsigned char*) m_memBuf.GetWriteBuf( size ) ;
|
unsigned char * destdatabase = (unsigned char*) m_memBuf.GetWriteBuf( size ) ;
|
||||||
wxASSERT( destdatabase != NULL ) ;
|
wxASSERT( destdatabase != NULL ) ;
|
||||||
|
|
||||||
memset( destdatabase , 0 , size ) ;
|
if ( destdatabase )
|
||||||
unsigned char * srcdata = (unsigned char*) bitmap.GetRawAccess() ;
|
|
||||||
|
|
||||||
for ( int y = 0 ; y < m_height ; ++y , destdatabase += m_bytesPerRow )
|
|
||||||
{
|
{
|
||||||
unsigned char *destdata = destdatabase ;
|
memset( destdatabase , 0 , size ) ;
|
||||||
unsigned char r, g, b;
|
unsigned char * srcdata = (unsigned char*) bitmap.GetRawAccess() ;
|
||||||
|
|
||||||
for ( int x = 0 ; x < m_width ; ++x )
|
for ( int y = 0 ; y < m_height ; ++y , destdatabase += m_bytesPerRow )
|
||||||
{
|
{
|
||||||
srcdata++ ;
|
unsigned char *destdata = destdatabase ;
|
||||||
r = *srcdata++ ;
|
unsigned char r, g, b;
|
||||||
g = *srcdata++ ;
|
|
||||||
b = *srcdata++ ;
|
|
||||||
|
|
||||||
if ( ( r + g + b ) > 0x10 )
|
for ( int x = 0 ; x < m_width ; ++x )
|
||||||
*destdata++ = 0xFF ;
|
{
|
||||||
else
|
srcdata++ ;
|
||||||
*destdata++ = 0x00 ;
|
r = *srcdata++ ;
|
||||||
|
g = *srcdata++ ;
|
||||||
|
b = *srcdata++ ;
|
||||||
|
|
||||||
|
if ( ( r + g + b ) > 0x10 )
|
||||||
|
*destdata++ = 0xFF ;
|
||||||
|
else
|
||||||
|
*destdata++ = 0x00 ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user