diff options
author | Andy Shaw <andy.shaw@digia.com> | 2013-10-07 16:01:53 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-12 12:37:50 +0200 |
commit | 64332372a133d4c37d3ca8d85c04427386c35300 (patch) | |
tree | 79ed7e774b05c4d067b1c2674b611cbfa833dd53 /src/widgets | |
parent | 5c87044870752ba9506d7f1d6a0b3de13e72c45f (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/widgets')
-rw-r--r-- | src/widgets/itemviews/qheaderview.cpp | 9 |
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; } |