diff options
author | Denis Dzyubenko <denis.dzyubenko@nokia.com> | 2011-06-10 09:53:47 (GMT) |
---|---|---|
committer | Denis Dzyubenko <denis.dzyubenko@nokia.com> | 2011-06-10 09:53:47 (GMT) |
commit | 9ae35e8c10108c87b2ac10975dbe75651f7cd33e (patch) | |
tree | 915d489f8c2a2092d164d56e1585665a8180596a /src/corelib | |
parent | 2cb398e1d901e62384bb2b388761cfd18fc8804a (diff) | |
parent | a9364af090fd3209b92ed5e07a1374488d22b1c4 (diff) | |
download | Qt-9ae35e8c10108c87b2ac10975dbe75651f7cd33e.zip Qt-9ae35e8c10108c87b2ac10975dbe75651f7cd33e.tar.gz Qt-9ae35e8c10108c87b2ac10975dbe75651f7cd33e.tar.bz2 |
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-earth-team into 4.8-earth
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/io/qbuffer.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/corelib/io/qbuffer.cpp b/src/corelib/io/qbuffer.cpp index 38e406b..35e7b68 100644 --- a/src/corelib/io/qbuffer.cpp +++ b/src/corelib/io/qbuffer.cpp @@ -333,23 +333,18 @@ bool QBuffer::open(OpenMode flags) { Q_D(QBuffer); - if ((flags & Append) == Append) + if ((flags & (Append | Truncate)) != 0) flags |= WriteOnly; - setOpenMode(flags); - if (!(isReadable() || isWritable())) { - qWarning("QFile::open: File access not specified"); + if ((flags & (ReadOnly | WriteOnly)) == 0) { + qWarning("QBuffer::open: Buffer access not specified"); return false; } - if ((flags & QIODevice::Truncate) == QIODevice::Truncate) { + if ((flags & Truncate) == Truncate) d->buf->resize(0); - } - if ((flags & QIODevice::Append) == QIODevice::Append) // append to end of buffer - seek(d->buf->size()); - else - seek(0); + d->ioIndex = (flags & Append) == Append ? d->buf->size() : 0; - return true; + return QIODevice::open(flags); } /*! |