diff options
Diffstat (limited to 'src/graphicsitems/qxborderimage.cpp')
-rw-r--r-- | src/graphicsitems/qxborderimage.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/graphicsitems/qxborderimage.cpp b/src/graphicsitems/qxborderimage.cpp index 4224382..76e377a 100644 --- a/src/graphicsitems/qxborderimage.cpp +++ b/src/graphicsitems/qxborderimage.cpp @@ -44,6 +44,8 @@ #include "nodes/qxninepatchnode_p.h" +#include "adaptationlayer.h" + #include <QtDeclarative/qdeclarativeinfo.h> #include <private/qdeclarativeengine_p.h> @@ -336,7 +338,13 @@ void QxBorderImagePrivate::updatePixmap() const QDeclarativeScaleGrid *border = getScaleGrid(); QRect inner(border->left(), border->top(), pix.width() - border->right() - border->left(), pix.height() - border->bottom() - border->top()); - node = new QxNinePatchNode(QRectF(0, 0, q->width(), q->height()), pix, inner, q->renderOpacity(), smooth); + + if (!texture) { + texture = qt_adaptation_layer()->textureManager()->requestUploadedTexture(pix.pixmap().toImage(), + TextureManager::SynchronousUploadHint); + } // ### gunnar: does not support changing images... + + node = new QxNinePatchNode(QRectF(0, 0, q->width(), q->height()), texture, inner, q->renderOpacity(), smooth); q->setPaintNode(node); } } |