X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bfcc7d7fd037dbaa3bf7368d246f76248304f82a..faa7a70eaf23743f54e1fd3f1b28e24663bdcc78:/src/common/zstream.cpp diff --git a/src/common/zstream.cpp b/src/common/zstream.cpp index 8ccb8710db..1090d6b3a2 100644 --- a/src/common/zstream.cpp +++ b/src/common/zstream.cpp @@ -138,7 +138,7 @@ wxZlibOutputStream::~wxZlibOutputStream() err = deflate(m_deflate, Z_FINISH); if (err != Z_STREAM_END) { - wxLogDebug( _T("wxZlibOutputStream: an error occured while closing the stream.\n") ); + wxLogDebug( wxT("wxZlibOutputStream: an error occured while closing the stream.\n") ); return; } @@ -160,6 +160,19 @@ void wxZlibOutputStream::Sync() return; } + // Fixed by "Stefan Csomor" + while( m_deflate->avail_out == 0 ) + { + m_parent_o_stream->Write(m_z_buffer, m_z_size ); + m_deflate->next_out = m_z_buffer; + m_deflate->avail_out = m_z_size; + err = deflate(m_deflate, Z_FULL_FLUSH); + if (err != Z_OK) { + return; + } + } + // End + m_parent_o_stream->Write(m_z_buffer, m_z_size-m_deflate->avail_out); m_deflate->next_out = m_z_buffer; m_deflate->avail_out = m_z_size;