diff --git a/include/wx/propgrid/advprops.h b/include/wx/propgrid/advprops.h index 0889778957..b356b6bd7b 100644 --- a/include/wx/propgrid/advprops.h +++ b/include/wx/propgrid/advprops.h @@ -297,7 +297,7 @@ public: protected: wxBitmap m_bitmap; // final thumbnail area - wxImage m_image; // intermediate thumbnail area + wxImage m_image; // original thumbnail area private: // Initialize m_image using the current file name. diff --git a/interface/wx/propgrid/advprops.h b/interface/wx/propgrid/advprops.h index 3dd7542aef..8868776b0b 100644 --- a/interface/wx/propgrid/advprops.h +++ b/interface/wx/propgrid/advprops.h @@ -251,7 +251,7 @@ public: protected: wxBitmap m_bitmap; // final thumbnail area - wxImage m_image; // intermediate thumbnail area + wxImage m_image; // original thumbnail area }; diff --git a/src/propgrid/advprops.cpp b/src/propgrid/advprops.cpp index 84ad0da063..c8cfcfd91e 100644 --- a/src/propgrid/advprops.cpp +++ b/src/propgrid/advprops.cpp @@ -1876,7 +1876,7 @@ void wxImageFileProperty::OnCustomPaint( wxDC& dc, const wxRect& rect, wxPGPaintData& ) { - if ( m_bitmap.IsOk() || m_image.IsOk() ) + if ( m_image.IsOk() ) { // Draw the thumbnail // Create the bitmap here because required size is not known in OnSetValue(). @@ -1889,11 +1889,15 @@ void wxImageFileProperty::OnCustomPaint( wxDC& dc, if ( !m_bitmap.IsOk() ) { - m_image.Rescale( rect.width, rect.height ); - m_bitmap = wxBitmap(m_image, dc); + wxImage imgScaled = m_image; + imgScaled.Rescale(rect.width, rect.height); + m_bitmap = wxBitmap(imgScaled, dc); } + } - dc.DrawBitmap( m_bitmap, rect.x, rect.y, false ); + if ( m_bitmap.IsOk() ) + { + dc.DrawBitmap(m_bitmap, rect.x, rect.y, false); } else {