Don't invalidate wxStaticBitmap best size unless bitmap size changes

This is what wxMSW does. See #18943
This commit is contained in:
Paul Cornett
2020-10-13 10:25:19 -07:00
parent 3bad6ecf0b
commit 97655e5b21

View File

@@ -56,11 +56,17 @@ bool wxStaticBitmap::Create( wxWindow *parent, wxWindowID id, const wxBitmap &bi
void wxStaticBitmap::SetBitmap( const wxBitmap &bitmap )
{
const wxSize sizeOld(m_bitmap.IsOk() ? m_bitmap.GetSize() : wxSize());
const wxSize sizeNew(bitmap.IsOk() ? bitmap.GetSize() : wxSize());
m_bitmap = bitmap;
WX_GTK_IMAGE(m_widget)->Set(bitmap);
InvalidateBestSize();
SetSize(GetBestSize());
if (sizeNew != sizeOld)
{
InvalidateBestSize();
SetSize(GetBestSize());
}
}
// static