This method should only be called if we do have an image, assert (instead of
silently returning) if it's called when we don't.
Also explain in a comment why do we need to call CacheBestSize() only when we
have an image in DoGetBestSize().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66890
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
virtual void DoSetBitmapMargins(wxCoord x, wxCoord y);
virtual void DoSetBitmapPosition(wxDirection dir);
- // Increases the passed in size if necessary to account for the
- // button image, if any
+ // Increases the passed in size to account for the button image.
+ //
+ // Should only be called if we do have a button, i.e. if m_imageData is
+ // non-NULL.
void AdjustForBitmapSize(wxSize& size) const;
class wxButtonImageData *m_imageData;
void wxButton::AdjustForBitmapSize(wxSize &size) const
{
- if ( !m_imageData )
- return;
+ wxCHECK_RET( m_imageData, wxT("shouldn't be called if no image") );
// account for the bitmap size
const wxSize sizeBmp = m_imageData->GetBitmap(State_Normal).GetSize();
{
AdjustForBitmapSize(size);
+ // The best size has changed so even if it had been already cached by
+ // ComputeBestSize() call above we still need to update it.
CacheBestSize(size);
}