diff options
Diffstat (limited to 'src/declarative/qml/qmlvme.cpp')
-rw-r--r-- | src/declarative/qml/qmlvme.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/declarative/qml/qmlvme.cpp b/src/declarative/qml/qmlvme.cpp index 82df3bc..ca4f9c9 100644 --- a/src/declarative/qml/qmlvme.cpp +++ b/src/declarative/qml/qmlvme.cpp @@ -48,6 +48,7 @@ #include <private/qmlcustomparser_p.h> #include <qperformancelog.h> #include <QStack> +#include <QWidget> #include <private/qmlcompiledcomponent_p.h> #include <QColor> #include <QPointF> @@ -274,7 +275,11 @@ QObject *QmlVME::run(QmlContext *ctxt, QmlCompiledComponent *comp, int start, in } if (!stack.isEmpty()) { QObject *parent = stack.top(); - o->setParent(parent); + if (o->isWidgetType()) { + qobject_cast<QWidget*>(o)->setParent(qobject_cast<QWidget*>(parent)); + } else { + o->setParent(parent); + } } stack.push(o); } |