aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicksprite.cpp
diff options
context:
space:
mode:
authorAlan Alpert <aalpert@rim.com>2013-02-26 13:50:51 -0800
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-12 23:25:37 +0100
commitfa8a4beb157f82e02cf8471ade7da0faee7a9fa1 (patch)
tree8115a2e936dda9b292a769c4c0e6f076d904f1ca /src/quick/items/qquicksprite.cpp
parentc460a83e26c6ade557dac9cf30df6a95cb1aadd2 (diff)
Fix remote image loading for AnimatedSprite
The Sprite generated behind the scenes had no QmlEngine associated, and the engine is needed by QQuickPixmap for async loading. Task-number: QTBUG-28086 Change-Id: Ibf3b03c54b339fe8f44201dc6fcb507e5274bbec Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Diffstat (limited to 'src/quick/items/qquicksprite.cpp')
-rw-r--r--src/quick/items/qquicksprite.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/quick/items/qquicksprite.cpp b/src/quick/items/qquicksprite.cpp
index 13593384d8..b4138308f6 100644
--- a/src/quick/items/qquicksprite.cpp
+++ b/src/quick/items/qquicksprite.cpp
@@ -254,8 +254,15 @@ int QQuickSprite::variedDuration() const //Deals with precedence when multiple d
void QQuickSprite::startImageLoading()
{
m_pix.clear(this);
- if (!m_source.isEmpty())
- m_pix.load(qmlEngine(this), m_source);
+ if (!m_source.isEmpty()) {
+ QQmlEngine *e = qmlEngine(this);
+ if (!e) { //If not created in QML, you must set the QObject parent to the QML element so this can work
+ e = qmlEngine(parent());
+ if (!e)
+ qWarning() << "QQuickSprite: Cannot find QQmlEngine - this class is only for use in QML and may not work";
+ }
+ m_pix.load(e, m_source);
+ }
}
QT_END_NAMESPACE