From: Vadim Zeitlin Date: Fri, 24 May 2002 22:09:13 +0000 (+0000) Subject: fixed wxStreamBuffer::Tell() to return at least sometimes a valid result X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/915a955caffbbc0982cc4a1952113bcd09d6d009 fixed wxStreamBuffer::Tell() to return at least sometimes a valid result git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/stream.cpp b/src/common/stream.cpp index 88a8ccc790..c3c66e9e50 100644 --- a/src/common/stream.cpp +++ b/src/common/stream.cpp @@ -613,9 +613,21 @@ off_t wxStreamBuffer::Seek(off_t pos, wxSeekMode mode) off_t wxStreamBuffer::Tell() const { - off_t pos = m_stream->OnSysTell(); - if ( pos == wxInvalidOffset ) - return wxInvalidOffset; + off_t pos; + + // only ask the stream for position if we have a real stream and not a + // dummy one which we created ourselves, otherwise we'd call + // wxStream::OnSysTell() which would always return wxInvalidOffset + if ( !m_destroystream ) + { + pos = m_stream->OnSysTell(); + if ( pos == wxInvalidOffset ) + return wxInvalidOffset; + } + else // no associated stream + { + pos = 0; + } pos += GetIntPosition();