aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativevmemetaobject_p.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2011-10-28 12:06:17 +0200
committerQt by Nokia <qt-info@nokia.com>2011-11-01 09:30:02 +0100
commit80066259f1fcda5d057899592cdecdaff068e9a3 (patch)
treea2e74586aef2f8e0be5e76598e8205bfe44dba00 /src/declarative/qml/qdeclarativevmemetaobject_p.h
parent4df4d80f2542c5ec5b8bf06f970f917b47365827 (diff)
Fix bus errors on Linux/ARM due to word alignment issues
If the kernel is configured to SIGBUS on unaligned word access, then the code in qdeclarativecompiler.cpp that accesses the structs that follow QDeclarativeVMEMetaData in memory may cause the process to get killed. They contain integers but they're not aligned. Ensure that the size of the first structure gives integer alignment for the following structures. Change-Id: Iad85557aa3be4949f653d389dbaa3666960be404 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/declarative/qml/qdeclarativevmemetaobject_p.h')
-rw-r--r--src/declarative/qml/qdeclarativevmemetaobject_p.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/declarative/qml/qdeclarativevmemetaobject_p.h b/src/declarative/qml/qdeclarativevmemetaobject_p.h
index 400961b27f..6076dcfe61 100644
--- a/src/declarative/qml/qdeclarativevmemetaobject_p.h
+++ b/src/declarative/qml/qdeclarativevmemetaobject_p.h
@@ -84,6 +84,8 @@ struct QDeclarativeVMEMetaData
short aliasCount;
short signalCount;
short methodCount;
+ short dummyForAlignment; // Add padding to ensure that the following
+ // AliasData/PropertyData/MethodData is int aligned.
struct AliasData {
int contextIdx;