path: root/src/corelib/tools/qtimezoneprivate_icu.cpp
diff options
authorAlex Trotsenko <>2016-06-13 17:25:34 +0300
committerAlex Trotsenko <>2016-07-01 16:08:41 +0000
commit3c93286f08a80b6e1821d7d63d361742b25c6578 (patch)
tree2c75ec1756649b26befb4f0f6fbd985bac14c6e2 /src/corelib/tools/qtimezoneprivate_icu.cpp
parentfbe67f06bc4995569a237a40d8d0aef2088acb10 (diff)
QDataStream: unify deserialization of containers
Serialization of the Qt container classes is accomplished by breaking up the data into primitive units. On the receiver side, these units should be read atomically to guarantee integrity of the container. Deserialization procedures for QHash and QMap were already implemented in accordance with this strategy and have the following behavior: - a previously latched error status is saved for the caller. This overrides possible different errors in the current read. This is consistent with the treatment of primitive types. - if an error occurs during the deserialization, the container is cleared. To make the API consistent, this patch adjusts the behavior of QList, QLinkedList, QVector, and QSet deserialization. On the implementation side we accomplish this with a private StreamStateSaver RAII class that consolidates the handling of the stream status for all containers. [ChangeLog][Important Behavior Changes][QtCore][QDataStream] Incomplete reads of Qt containers are now handled same way as for primitive types, meaning that previous errors are latched. Task-number: QTBUG-54022 Change-Id: I5c77257fe2a4637e8a7e6cf3cd43091c8469340e Reviewed-by: Oswald Buddenhagen <> Reviewed-by: Edward Welbourne <>
Diffstat (limited to 'src/corelib/tools/qtimezoneprivate_icu.cpp')
0 files changed, 0 insertions, 0 deletions