X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5c6eb3a84be918dcfed2496d014549e13af0f0e9..105993f7b6baf97b596d09e9c59c42adcee0dbcf:/include/wx/osx/core/cfref.h diff --git a/include/wx/osx/core/cfref.h b/include/wx/osx/core/cfref.h index f5251ab1c0..cb4f636498 100644 --- a/include/wx/osx/core/cfref.h +++ b/include/wx/osx/core/cfref.h @@ -234,9 +234,12 @@ public: */ wxCFRef& operator=(const wxCFRef& otherRef) { - wxCFRetain(otherRef.m_ptr); - wxCFRelease(m_ptr); - m_ptr = otherRef.m_ptr; + if (this != &otherRef) + { + wxCFRetain(otherRef.m_ptr); + wxCFRelease(m_ptr); + m_ptr = otherRef.m_ptr; + } return *this; } @@ -308,6 +311,15 @@ public: wxCFRelease(m_ptr); m_ptr = p; // Automatic conversion should occur } + + // Release the pointer, i.e. give up its ownership. + refType release() + { + refType p = m_ptr; + m_ptr = NULL; + return p; + } + protected: /*! @var m_ptr The raw pointer. */