X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/17a1ebd101f0653e69736416a2a28d0ada423141..86948c99a6f0fd177b09b3db0ef702739ec62a27:/src/common/stream.cpp diff --git a/src/common/stream.cpp b/src/common/stream.cpp index 2f26e6a330..73dde47896 100644 --- a/src/common/stream.cpp +++ b/src/common/stream.cpp @@ -117,7 +117,10 @@ wxStreamBuffer::wxStreamBuffer(const wxStreamBuffer& buffer) void wxStreamBuffer::FreeBuffer() { if ( m_destroybuf ) + { free(m_buffer_start); + m_buffer_start = NULL; + } } wxStreamBuffer::~wxStreamBuffer() @@ -163,15 +166,15 @@ void wxStreamBuffer::SetBufferIO(void *start, void wxStreamBuffer::SetBufferIO(size_t bufsize) { - // start by freeing the old buffer - FreeBuffer(); - if ( bufsize ) { + // this will free the old buffer and allocate the new one SetBufferIO(malloc(bufsize), bufsize, true /* take ownership */); } else // no buffer size => no buffer { + // still free the old one + FreeBuffer(); InitBuffer(); } } @@ -664,7 +667,7 @@ size_t wxStreamBase::GetSize() const return 0; const size_t len = wx_truncate_cast(size_t, length); - wxASSERT_MSG( len == length, _T("large files not supported") ); + wxASSERT_MSG( len == length + size_t(0), _T("large files not supported") ); return len; } @@ -679,20 +682,6 @@ wxFileOffset wxStreamBase::OnSysTell() const return wxInvalidOffset; } -#if WXWIN_COMPATIBILITY_2_2 - -wxStreamError wxStreamBase::LastError() const -{ - return m_lasterror; -} - -size_t wxStreamBase::StreamSize() const -{ - return GetSize(); -} - -#endif // WXWIN_COMPATIBILITY_2_2 - // ---------------------------------------------------------------------------- // wxInputStream // ----------------------------------------------------------------------------