]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/stream.cpp
added timestamping to wxLogStream
[wxWidgets.git] / src / common / stream.cpp
index 0a6991a42ff3c89bd954b23deeb557f463057881..15d6b73c36aa3080c6dafe8ccd844d239e4c217e 100644 (file)
@@ -81,22 +81,24 @@ void wxStreamBuffer::Init()
 
 wxStreamBuffer::wxStreamBuffer(wxStreamBase& stream, BufMode mode)
 {
+    Init();
+
     m_stream = &stream;
     m_mode = mode;
 
     m_flushable = TRUE;
     m_destroystream = FALSE;
-    m_destroybuf = FALSE;
 }
 
 wxStreamBuffer::wxStreamBuffer(BufMode mode)
 {
+    Init();
+
     m_stream = new wxStreamBase;
     m_mode = mode;
 
     m_flushable = FALSE;
     m_destroystream = TRUE;
-    m_destroybuf = FALSE;
 }
 
 wxStreamBuffer::wxStreamBuffer(const wxStreamBuffer& buffer)
@@ -163,7 +165,7 @@ void wxStreamBuffer::SetBufferIO(void *start,
     m_buffer_size = len;
 
     // if we own it, we free it
-    m_destroybuf = !takeOwnership;
+    m_destroybuf = takeOwnership;
 
     ResetBuffer();
 }
@@ -1022,7 +1024,8 @@ wxBufferedInputStream::wxBufferedInputStream(wxInputStream& s,
 
 wxBufferedInputStream::~wxBufferedInputStream()
 {
-    m_parent_i_stream->SeekI(-m_i_streambuf->GetBytesLeft(), wxFromCurrent);
+    m_parent_i_stream->SeekI(-(off_t)m_i_streambuf->GetBytesLeft(),
+                             wxFromCurrent);
 
     delete m_i_streambuf;
 }