diff options
author | Glenn Watson <glenn.watson@nokia.com> | 2012-06-20 11:36:31 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-20 06:04:01 +0200 |
commit | 0bc4a13048c030d52fd37debba0e934e1dd49b83 (patch) | |
tree | 7184adace91130b43f310eb4c0a7982016f2885d /src/qml/qml/qqmlbundle_p.h | |
parent | 7c962ceba942f3adf2a77424d73504608a6fceac (diff) |
Fix some of the bundle test failures on Windows.
The Q_PACKED macro is not supported on Windows, so the code that
serializes the bundles does not work with the loading code. Change
the maximum bundle size to 4 GB so that struct packing is not
required.
Change-Id: Ia7c8aa856ac532732eb6e76df813f46acd66b6f2
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src/qml/qml/qqmlbundle_p.h')
-rw-r--r-- | src/qml/qml/qqmlbundle_p.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/qml/qml/qqmlbundle_p.h b/src/qml/qml/qqmlbundle_p.h index 8c2cc55d95..c34e2d91d5 100644 --- a/src/qml/qml/qqmlbundle_p.h +++ b/src/qml/qml/qqmlbundle_p.h @@ -57,7 +57,7 @@ class Q_QML_PRIVATE_EXPORT QQmlBundle { Q_DISABLE_COPY(QQmlBundle) public: - struct Q_PACKED Q_QML_PRIVATE_EXPORT Entry + struct Q_QML_PRIVATE_EXPORT Entry { enum Kind { File = 123, // Normal file @@ -68,24 +68,24 @@ public: }; int kind; - quint64 size; + quint32 size; }; - struct Q_PACKED Q_QML_PRIVATE_EXPORT RawEntry : public Entry + struct Q_QML_PRIVATE_EXPORT RawEntry : public Entry { char data[]; // trailing data }; - struct Q_PACKED Q_QML_PRIVATE_EXPORT FileEntry : public Entry + struct Q_QML_PRIVATE_EXPORT FileEntry : public Entry { - quint64 link; + quint32 link; int fileNameLength; char data[]; // trailing data QString fileName() const; bool isFileName(const QString &) const; - quint64 fileSize() const; + quint32 fileSize() const; const char *contents() const; }; @@ -112,12 +112,12 @@ public: static int bundleHeaderLength(); static bool isBundleHeader(const char *, int size); private: - const Entry *findInsertPoint(quint64 size, qint64 *offset); + const Entry *findInsertPoint(quint32 size, qint32 *offset); private: QFile file; uchar *buffer; - quint64 bufferSize; + quint32 bufferSize; bool opened:1; bool headerWritten:1; }; |