summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@digia.com>2013-10-07 16:01:53 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-12 12:37:50 +0200
commit64332372a133d4c37d3ca8d85c04427386c35300 (patch)
tree79ed7e774b05c4d067b1c2674b611cbfa833dd53 /src
parent5c87044870752ba9506d7f1d6a0b3de13e72c45f (diff)
Don't rely on the Qt version when reading a QHeaderView state stream
Since the datastream version is not set in previous versions of Qt when streaming the state of the QHeaderView then we cannot rely on this when adding new data to the state. Therefore we check if we read past the end before assigning to the new variable. Change-Id: I7128ffc91e47f9c8797cfa24d206a789d2814908 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/widgets/itemviews/qheaderview.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp
index 123594637a..1131ef030e 100644
--- a/src/widgets/itemviews/qheaderview.cpp
+++ b/src/widgets/itemviews/qheaderview.cpp
@@ -3693,8 +3693,7 @@ void QHeaderViewPrivate::write(QDataStream &out) const
out << int(globalResizeMode);
out << sectionItems;
- if (out.version() >= QDataStream::Qt_5_2)
- out << resizeContentsPrecision;
+ out << resizeContentsPrecision;
}
bool QHeaderViewPrivate::read(QDataStream &in)
@@ -3747,8 +3746,10 @@ bool QHeaderViewPrivate::read(QDataStream &in)
sectionItems = newSectionItems;
recalcSectionStartPos();
- if (in.version() >= QDataStream::Qt_5_2)
- in >> resizeContentsPrecision;
+ int tmpint;
+ in >> tmpint;
+ if (in.status() == QDataStream::Ok) // we haven't read past end
+ resizeContentsPrecision = tmpint;
return true;
}