From 87db9df855478cc1465dc929a7252299f93a0295 Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Wed, 20 Oct 2010 20:53:55 +0000 Subject: [PATCH] immediately create the engine, so it can be messed with it before actually loading a file svn path=/trunk/KDE/kdelibs/; revision=1187951 --- widgets/declarativewidget.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/widgets/declarativewidget.cpp b/widgets/declarativewidget.cpp index 4710b97d0..336174d7d 100644 --- a/widgets/declarativewidget.cpp +++ b/widgets/declarativewidget.cpp @@ -88,15 +88,7 @@ void DeclarativeWidgetPrivate::execute(const QString &fileName) return; } - delete engine; - delete component; - - engine = new QDeclarativeEngine(q); - foreach(const QString &importPath, KGlobal::dirs()->findDirs("module", "imports")) { - engine->addImportPath(importPath); - } - - component = new QDeclarativeComponent(engine, fileName, q); + component->loadUrl(fileName); if (delay) { QTimer::singleShot(0, q, SLOT(scheduleExecutionEnd())); @@ -171,6 +163,13 @@ DeclarativeWidget::DeclarativeWidget(QGraphicsWidget *parent) d(new DeclarativeWidgetPrivate(this)) { setFlag(QGraphicsItem::ItemHasNoContents); + + d->engine = new QDeclarativeEngine(this); + foreach(const QString &importPath, KGlobal::dirs()->findDirs("module", "imports")) { + d->engine->addImportPath(importPath); + } + + d->component = new QDeclarativeComponent(d->engine, this); } DeclarativeWidget::~DeclarativeWidget()