summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qdatastream.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/io/qdatastream.h')
-rw-r--r--src/corelib/io/qdatastream.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h
index e4cd3b3509..e0a9cccdad 100644
--- a/src/corelib/io/qdatastream.h
+++ b/src/corelib/io/qdatastream.h
@@ -363,8 +363,10 @@ Q_OUTOFLINE_TEMPLATE QDataStream &operator>>(QDataStream &in, QHash<Key, T> &has
if (in.status() != QDataStream::Ok)
hash.clear();
- if (oldStatus != QDataStream::Ok)
+ if (oldStatus != QDataStream::Ok) {
+ in.resetStatus();
in.setStatus(oldStatus);
+ }
return in;
}
@@ -407,8 +409,10 @@ Q_OUTOFLINE_TEMPLATE QDataStream &operator>>(QDataStream &in, QMap<aKey, aT> &ma
}
if (in.status() != QDataStream::Ok)
map.clear();
- if (oldStatus != QDataStream::Ok)
+ if (oldStatus != QDataStream::Ok) {
+ in.resetStatus();
in.setStatus(oldStatus);
+ }
return in;
}