diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-07-28 08:40:25 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-07-29 02:37:37 (GMT) |
commit | fc1f498f3cedeacfd6d0f41ffc75b3432391db8d (patch) | |
tree | 96f2ebd4006d7c12e62d1612e432b744b34d1ae8 /src/declarative/qml | |
parent | 3f989ba80a9a3794d25f985b2a46d0c13078d350 (diff) | |
download | Qt-fc1f498f3cedeacfd6d0f41ffc75b3432391db8d.zip Qt-fc1f498f3cedeacfd6d0f41ffc75b3432391db8d.tar.gz Qt-fc1f498f3cedeacfd6d0f41ffc75b3432391db8d.tar.bz2 |
Fix alias warnings in QML compiled bindings
Diffstat (limited to 'src/declarative/qml')
-rw-r--r-- | src/declarative/qml/qdeclarativecompiledbindings.cpp | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/src/declarative/qml/qdeclarativecompiledbindings.cpp b/src/declarative/qml/qdeclarativecompiledbindings.cpp index 313fe58..7f2cac2 100644 --- a/src/declarative/qml/qdeclarativecompiledbindings.cpp +++ b/src/declarative/qml/qdeclarativecompiledbindings.cpp @@ -143,17 +143,17 @@ struct Register { void setNaN() { setqreal(qSNaN()); } bool isUndefined() const { return type == 0; } - void setQObject(QObject *o) { *((QObject **)data) = o; type = QMetaType::QObjectStar; } - QObject *getQObject() const { return *((QObject **)data); } + void setQObject(QObject *o) { qobjectValue = o; type = QMetaType::QObjectStar; } + QObject *getQObject() const { return qobjectValue; } - void setqreal(qreal v) { *((qreal *)data) = v; type = QMetaType::QReal; } - qreal getqreal() const { return *((qreal *)data); } + void setqreal(qreal v) { qrealValue = v; type = QMetaType::QReal; } + qreal getqreal() const { return qrealValue; } - void setint(int v) { *((int *)data) = v; type = QMetaType::Int; } - int getint() const { return *((int *)data); } + void setint(int v) { intValue = v; type = QMetaType::Int; } + int getint() const { return intValue; } - void setbool(bool v) { *((bool *)data) = v; type = QMetaType::Bool; } - bool getbool() const { return *((bool *)data); } + void setbool(bool v) { boolValue = v; type = QMetaType::Bool; } + bool getbool() const { return boolValue; } QVariant *getvariantptr() { return (QVariant *)typeDataPtr(); } QString *getstringptr() { return (QString *)typeDataPtr(); } @@ -171,7 +171,15 @@ struct Register { void settype(int t) { type = t; } int type; // Optional type - void *data[2]; // Object stored here + union { + QObject *qobjectValue; + qreal qrealValue; + int intValue; + bool boolValue; + char data[sizeof(QVariant)]; + qint64 q_for_alignment_1; + double q_for_alignment_2; + }; #ifdef REGISTER_CLEANUP_DEBUG Register() { |