X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b9e3186d195f6a6211794f849f1efffdccf91444..a45d2855c6882edc830777de2cec9ac21caced61:/src/msw/icon.cpp?ds=sidebyside diff --git a/src/msw/icon.cpp b/src/msw/icon.cpp index 564a07d875..e0fa3ee510 100644 --- a/src/msw/icon.cpp +++ b/src/msw/icon.cpp @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "icon.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -109,16 +105,12 @@ wxObjectRefData *wxIcon::CloneRefData(const wxObjectRefData *dataOrig) const if ( !data ) return NULL; - wxIcon *self = wx_const_cast(wxIcon *, this); - self->UnRef(); - self->m_refData = new wxIconRefData(*data); - - if ( data->m_hIcon ) - { - ::CopyIcon(HICON(data->m_hIcon)); - } - - return m_refData; + // we don't have to copy m_hIcon because we're only called from SetHICON() + // which overwrites m_hIcon anyhow currently + // + // and if we're called from SetWidth/Height/Depth(), it doesn't make sense + // to copy it neither as the handle would be inconsistent with the new size + return new wxIconRefData(*data); } void wxIcon::CopyFromBitmap(const wxBitmap& bmp)