diff options
author | MattV <qt-info@nokia.com> | 2009-06-01 12:11:18 +1000 |
---|---|---|
committer | MattV <qt-info@nokia.com> | 2009-06-01 12:11:18 +1000 |
commit | a4b0fb363589480ae9cd77492411e7ae0ab8a894 (patch) | |
tree | 51b6732ba514f71d3d94632fa88739bd8b9c63c5 | |
parent | dd1ba36774ae7f7208b80cf3c308a8ea14ea8d8e (diff) |
Ensure flushing occurs before sync.2009W22
-rw-r--r-- | src/plugins/contentmanagers/qtopiamailfile/qtopiamailfilemanager.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/contentmanagers/qtopiamailfile/qtopiamailfilemanager.cpp b/src/plugins/contentmanagers/qtopiamailfile/qtopiamailfilemanager.cpp index 9052bf1a..1ec0d131 100644 --- a/src/plugins/contentmanagers/qtopiamailfile/qtopiamailfilemanager.cpp +++ b/src/plugins/contentmanagers/qtopiamailfile/qtopiamailfilemanager.cpp @@ -150,8 +150,11 @@ bool migrateAccountToVersion101(const QMailAccountId &accountId) return true; } -void sync(const QFile &file) +void sync(QFile &file) { + // Ensure data is flushed to OS before attempting sync + file.flush(); + #if defined(_POSIX_SYNCHRONIZED_IO) && (_POSIX_SYNCHRONIZED_IO > 0) ::fdatasync(file.handle()); #else @@ -220,7 +223,6 @@ QMailStore::ErrorCode QtopiamailfileManager::addOrRename(QMailMessage *message, // Write the message to file (not including sub-part contents) QDataStream out(&file); message->toRfc2822(out, QMailMessage::StorageFormat); - bool isOk = out.status() != QDataStream::Ok; if ((out.status() != QDataStream::Ok) || // Write each part to file ((message->multipartType() != QMailMessagePartContainer::MultipartNone) && |