diff options
Diffstat (limited to 'src/quick/items/context2d/qquickcanvasitem.cpp')
-rw-r--r-- | src/quick/items/context2d/qquickcanvasitem.cpp | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp index 783fedf9fc..7031294ecc 100644 --- a/src/quick/items/context2d/qquickcanvasitem.cpp +++ b/src/quick/items/context2d/qquickcanvasitem.cpp @@ -96,16 +96,6 @@ QQuickCanvasItemPrivate::~QQuickCanvasItemPrivate() qDeleteAll(images); } -class QQuickCanvasItemCallback : public QQuickCanvasItemNode::Callback -{ -public: - QQuickCanvasItemCallback(QQuickCanvasItemPrivate *d):item(d) {} - void process() const { - // on SG render thread - item->context->sync(); - } - QQuickCanvasItemPrivate *item; -}; /*! \qmlclass Canvas QQuickCanvasItem @@ -573,10 +563,11 @@ QSGNode *QQuickCanvasItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData QQuickCanvasItemNode *node = static_cast<QQuickCanvasItemNode*>(oldNode); if (!node) { node = new QQuickCanvasItemNode; - if (d->renderStrategy == QQuickCanvasItem::Cooperative) - node->setCallback(new QQuickCanvasItemCallback(d)); } + if (d->renderStrategy == QQuickCanvasItem::Cooperative) + d->context->sync(); + node->setTexture(d->context->texture()); node->setSize(d->canvasWindow.size()); node->update(); |