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.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/quick/items/qquickborderimage.cpp b/src/quick/items/qquickborderimage.cpp
index 9fc9752707..0bed5e96a2 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
@@ -551,7 +551,7 @@ QSGNode *QQuickBorderImage::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDat
{
Q_D(QQuickBorderImage);
- QSGTexture *texture = d->sceneGraphContext()->textureForFactory(d->pix.textureFactory(), window());
+ QSGTexture *texture = d->sceneGraphRenderContext()->textureForFactory(d->pix.textureFactory(), window());
if (!texture || width() <= 0 || height() <= 0) {
delete oldNode;
@@ -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();
}