From: Stefan Csomor Date: Thu, 22 Aug 2002 08:47:34 +0000 (+0000) Subject: fix when bitmap is not valid X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/f125ccf24048cef9a1fcf7d38edaab8225d41564 fix when bitmap is not valid git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16674 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/mac/bmpbuttn.cpp b/src/mac/bmpbuttn.cpp index 5d03c4f8d3..7f89c97abd 100644 --- a/src/mac/bmpbuttn.cpp +++ b/src/mac/bmpbuttn.cpp @@ -52,14 +52,18 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit Rect bounds ; Str255 title ; - m_bmpNormal = bitmap; - wxBitmapRefData * bmap = (wxBitmapRefData*) ( m_bmpNormal.GetRefData()) ; + m_bmpNormal = bitmap; + wxBitmapRefData * bmap = NULL ; + + if ( m_bmpNormal.Ok() ) + bmap = (wxBitmapRefData*) ( m_bmpNormal.GetRefData()) ; MacPreControlCreate( parent , id , "" , pos , wxSize( width , height ) ,style, validator , name , &bounds , title ) ; m_macControl = ::NewControl( MAC_WXHWND(parent->MacGetRootWindow()) , &bounds , title , false , 0 , kControlBehaviorOffsetContents + - ( bmap->m_bitmapType == kMacBitmapTypeIcon ? kControlContentCIconHandle : kControlContentPictHandle ) , 0, + ( bmap && bmap->m_bitmapType == kMacBitmapTypeIcon ? + kControlContentCIconHandle : kControlContentPictHandle ) , 0, (( style & wxBU_AUTODRAW ) ? kControlBevelButtonSmallBevelProc : kControlBevelButtonNormalBevelProc ), (long) this ) ; wxASSERT_MSG( (ControlHandle) m_macControl != NULL , "No valid mac control" ) ; diff --git a/src/mac/carbon/bmpbuttn.cpp b/src/mac/carbon/bmpbuttn.cpp index 5d03c4f8d3..7f89c97abd 100644 --- a/src/mac/carbon/bmpbuttn.cpp +++ b/src/mac/carbon/bmpbuttn.cpp @@ -52,14 +52,18 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit Rect bounds ; Str255 title ; - m_bmpNormal = bitmap; - wxBitmapRefData * bmap = (wxBitmapRefData*) ( m_bmpNormal.GetRefData()) ; + m_bmpNormal = bitmap; + wxBitmapRefData * bmap = NULL ; + + if ( m_bmpNormal.Ok() ) + bmap = (wxBitmapRefData*) ( m_bmpNormal.GetRefData()) ; MacPreControlCreate( parent , id , "" , pos , wxSize( width , height ) ,style, validator , name , &bounds , title ) ; m_macControl = ::NewControl( MAC_WXHWND(parent->MacGetRootWindow()) , &bounds , title , false , 0 , kControlBehaviorOffsetContents + - ( bmap->m_bitmapType == kMacBitmapTypeIcon ? kControlContentCIconHandle : kControlContentPictHandle ) , 0, + ( bmap && bmap->m_bitmapType == kMacBitmapTypeIcon ? + kControlContentCIconHandle : kControlContentPictHandle ) , 0, (( style & wxBU_AUTODRAW ) ? kControlBevelButtonSmallBevelProc : kControlBevelButtonNormalBevelProc ), (long) this ) ; wxASSERT_MSG( (ControlHandle) m_macControl != NULL , "No valid mac control" ) ;