From b3bff5bb3c8ee0e1c45d20d04b1c3c0236aa9d38 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Thu, 24 Oct 2013 19:59:12 +0200 Subject: Make sure QQuickBorderImage sets its pixmapChanged dirtyflag Task-number: QTBUG-34298 Change-Id: Ie66f0bdd705335491496f5d583193b32cb7749f3 Reviewed-by: Alan Alpert --- src/quick/items/qquickborderimage.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src') 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(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(); } -- cgit v1.2.3