aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/items/qsgloader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/items/qsgloader.cpp')
-rw-r--r--src/declarative/items/qsgloader.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/declarative/items/qsgloader.cpp b/src/declarative/items/qsgloader.cpp
index 0d1febacb4..ccf16896fb 100644
--- a/src/declarative/items/qsgloader.cpp
+++ b/src/declarative/items/qsgloader.cpp
@@ -165,7 +165,7 @@ void QSGLoader::setSourceComponent(QDeclarativeComponent *comp)
d->component = comp;
d->ownComponent = false;
if (!d->component) {
- emit sourceChanged();
+ emit sourceComponentChanged();
emit statusChanged();
emit progressChanged();
emit itemChanged();
@@ -197,7 +197,10 @@ void QSGLoaderPrivate::load()
q, SIGNAL(progressChanged()));
emit q->statusChanged();
emit q->progressChanged();
- emit q->sourceChanged();
+ if (ownComponent)
+ emit q->sourceChanged();
+ else
+ emit q->sourceComponentChanged();
emit q->itemChanged();
}
}
@@ -209,7 +212,10 @@ void QSGLoaderPrivate::_q_sourceLoaded()
if (component) {
if (!component->errors().isEmpty()) {
QDeclarativeEnginePrivate::warning(qmlEngine(q), component->errors());
- emit q->sourceChanged();
+ if (ownComponent)
+ emit q->sourceChanged();
+ else
+ emit q->sourceComponentChanged();
emit q->statusChanged();
emit q->progressChanged();
return;
@@ -253,7 +259,10 @@ void QSGLoaderPrivate::_q_sourceLoaded()
source = QUrl();
}
component->completeCreate();
- emit q->sourceChanged();
+ if (ownComponent)
+ emit q->sourceChanged();
+ else
+ emit q->sourceComponentChanged();
emit q->statusChanged();
emit q->progressChanged();
emit q->itemChanged();