From 915a955caffbbc0982cc4a1952113bcd09d6d009 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 24 May 2002 22:09:13 +0000 Subject: [PATCH] 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 --- src/common/stream.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) 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(); -- 2.45.2