diff --git a/src/base/utils/io.cpp b/src/base/utils/io.cpp index 499b55a1e..08b0f73c7 100644 --- a/src/base/utils/io.cpp +++ b/src/base/utils/io.cpp @@ -41,9 +41,11 @@ Utils::IO::FileDeviceOutputIterator::FileDeviceOutputIterator(QFileDevice &devic Utils::IO::FileDeviceOutputIterator::~FileDeviceOutputIterator() { - if (m_device->error() == QFileDevice::NoError) - m_device->write(*m_buffer); - m_buffer->clear(); + if (m_buffer.use_count() == 1) { + if (m_device->error() == QFileDevice::NoError) + m_device->write(*m_buffer); + m_buffer->clear(); + } } Utils::IO::FileDeviceOutputIterator &Utils::IO::FileDeviceOutputIterator::operator=(const char c)