aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/declarative/items/qsgimage.cpp4
-rw-r--r--src/declarative/items/qsgimagebase.cpp1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/declarative/items/qsgimage.cpp b/src/declarative/items/qsgimage.cpp
index 8cf85997cb..92b454b695 100644
--- a/src/declarative/items/qsgimage.cpp
+++ b/src/declarative/items/qsgimage.cpp
@@ -704,6 +704,10 @@ void QSGImage::pixmapChange()
QSGImageBase::pixmapChange();
updatePaintedGeometry();
d->pixmapChanged = true;
+
+ // Make sure we update the texture provider when the image has changed.
+ if (d->provider)
+ update();
}
QSGImage::VAlignment QSGImage::verticalAlignment() const
diff --git a/src/declarative/items/qsgimagebase.cpp b/src/declarative/items/qsgimagebase.cpp
index 5c6334de66..0c08010d34 100644
--- a/src/declarative/items/qsgimagebase.cpp
+++ b/src/declarative/items/qsgimagebase.cpp
@@ -208,6 +208,7 @@ void QSGImageBase::load()
if (d->cache)
options |= QDeclarativePixmap::Cache;
d->pix.clear(this);
+ pixmapChange();
d->pix.load(qmlEngine(this), d->url, d->explicitSourceSize ? sourceSize() : QSize(), options);
if (d->pix.isLoading()) {