X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/993f08452dce7af55c5ff4a578d0402956188392..180b5b4827d08f1ac13bbb5eca03f775ab35a0b1:/src/common/image.cpp diff --git a/src/common/image.cpp b/src/common/image.cpp index 6df19503b2..30c9f8994c 100644 --- a/src/common/image.cpp +++ b/src/common/image.cpp @@ -743,7 +743,7 @@ wxImage wxImage::ResampleBicubic(int width, int height) const } // Blur in the horizontal direction -wxImage wxImage::BlurHorizontal(int blurRadius) +wxImage wxImage::BlurHorizontal(int blurRadius) const { wxImage ret_image; ret_image.Create(M_IMGDATA->m_width, M_IMGDATA->m_height, false); @@ -858,7 +858,7 @@ wxImage wxImage::BlurHorizontal(int blurRadius) } // Blur in the vertical direction -wxImage wxImage::BlurVertical(int blurRadius) +wxImage wxImage::BlurVertical(int blurRadius) const { wxImage ret_image; ret_image.Create(M_IMGDATA->m_width, M_IMGDATA->m_height, false); @@ -973,7 +973,7 @@ wxImage wxImage::BlurVertical(int blurRadius) } // The new blur function -wxImage wxImage::Blur(int blurRadius) +wxImage wxImage::Blur(int blurRadius) const { wxImage ret_image; ret_image.Create(M_IMGDATA->m_width, M_IMGDATA->m_height, false); @@ -1665,7 +1665,9 @@ void wxImage::SetAlpha( unsigned char *alpha, bool static_data ) alpha = (unsigned char *)malloc(M_IMGDATA->m_width*M_IMGDATA->m_height); } - free(M_IMGDATA->m_alpha); + if( !M_IMGDATA->m_staticAlpha ) + free(M_IMGDATA->m_alpha); + M_IMGDATA->m_alpha = alpha; M_IMGDATA->m_staticAlpha = static_data; } @@ -1898,8 +1900,11 @@ bool wxImage::ConvertAlphaToMask(unsigned char threshold) } } - free(M_IMGDATA->m_alpha); + if( !M_IMGDATA->m_staticAlpha ) + free(M_IMGDATA->m_alpha); + M_IMGDATA->m_alpha = NULL; + M_IMGDATA->m_staticAlpha = false; return true; }