summaryrefslogtreecommitdiffstats
path: root/src/tools/moc/generator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/moc/generator.cpp')
-rw-r--r--src/tools/moc/generator.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/tools/moc/generator.cpp b/src/tools/moc/generator.cpp
index 7d617a3..dbad4dc 100644
--- a/src/tools/moc/generator.cpp
+++ b/src/tools/moc/generator.cpp
@@ -758,6 +758,9 @@ void Generator::generateMetacall()
else if (cdef->enumDeclarations.value(p.type, false))
fprintf(out, " case %d: *reinterpret_cast<int*>(_v) = QFlag(%s()); break;\n",
propindex, p.read.constData());
+ else if (p.type == "qreal")
+ fprintf(out, " case %d: *reinterpret_cast< double*>(_v) = %s(); break;\n",
+ propindex, p.read.constData());
else
fprintf(out, " case %d: *reinterpret_cast< %s*>(_v) = %s(); break;\n",
propindex, p.type.constData(), p.read.constData());
@@ -782,6 +785,9 @@ void Generator::generateMetacall()
if (cdef->enumDeclarations.value(p.type, false)) {
fprintf(out, " case %d: %s(QFlag(*reinterpret_cast<int*>(_v))); break;\n",
propindex, p.write.constData());
+ } else if(p.type == "qreal") {
+ fprintf(out, " case %d: %s(*reinterpret_cast< double*>(_v)); break;\n",
+ propindex, p.write.constData());
} else {
fprintf(out, " case %d: %s(*reinterpret_cast< %s*>(_v)); break;\n",
propindex, p.write.constData(), p.type.constData());