aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickborderimage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickborderimage.cpp')
-rw-r--r--src/quick/items/qquickborderimage.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/quick/items/qquickborderimage.cpp b/src/quick/items/qquickborderimage.cpp
index 9fc9752707..a2e4e91755 100644
--- a/src/quick/items/qquickborderimage.cpp
+++ b/src/quick/items/qquickborderimage.cpp
@@ -301,7 +301,7 @@ void QQuickBorderImage::load()
d->oldSourceSize = sourceSize();
emit sourceSizeChanged();
}
- update();
+ pixmapChange();
return;
} else {
if (d->url.path().endsWith(QLatin1String("sci"))) {
@@ -509,7 +509,7 @@ void QQuickBorderImage::requestFinished()
emit sourceSizeChanged();
}
- update();
+ pixmapChange();
}
#define BORDERIMAGE_MAX_REDIRECT 16
@@ -561,6 +561,7 @@ QSGNode *QQuickBorderImage::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDat
QSGImageNode *node = static_cast<QSGImageNode *>(oldNode);
bool updatePixmap = d->pixmapChanged;
+ d->pixmapChanged = false;
if (!node) {
node = d->sceneGraphContext()->createImageNode();
updatePixmap = true;
@@ -634,10 +635,7 @@ QSGNode *QQuickBorderImage::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDat
void QQuickBorderImage::pixmapChange()
{
Q_D(QQuickBorderImage);
-
d->pixmapChanged = true;
-
- // When the pixmap changes, such as being deleted, we need to update the textures
update();
}