diff options
Diffstat (limited to 'src/quick/items/context2d')
-rw-r--r-- | src/quick/items/context2d/qquickcanvasitem.cpp | 7 | ||||
-rw-r--r-- | src/quick/items/context2d/qquickcanvasitem_p.h | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp index 4f849c771b..6c8c8f3f53 100644 --- a/src/quick/items/context2d/qquickcanvasitem.cpp +++ b/src/quick/items/context2d/qquickcanvasitem.cpp @@ -446,6 +446,11 @@ QQuickCanvasContext* QQuickCanvasItem::rawContext() const return d_func()->context; } +bool QQuickCanvasItem::isPaintConnected() +{ + IS_SIGNAL_CONNECTED(this, "paint(QRect)"); +} + void QQuickCanvasItem::sceneGraphInitialized() { Q_D(QQuickCanvasItem); @@ -456,7 +461,7 @@ void QQuickCanvasItem::sceneGraphInitialized() if (!d->contextType.isNull()) QMetaObject::invokeMethod(this, "delayedCreate", Qt::QueuedConnection); - else if (receivers(SIGNAL(paint(QRect))) > 0) + else if (isPaintConnected()) QMetaObject::invokeMethod(this, "requestPaint", Qt::QueuedConnection); } diff --git a/src/quick/items/context2d/qquickcanvasitem_p.h b/src/quick/items/context2d/qquickcanvasitem_p.h index 9a57733d4c..5238fbcf6d 100644 --- a/src/quick/items/context2d/qquickcanvasitem_p.h +++ b/src/quick/items/context2d/qquickcanvasitem_p.h @@ -158,6 +158,7 @@ private: bool createContext(const QString &contextType); void initializeContext(QQuickCanvasContext *context, const QVariantMap &args = QVariantMap()); QRect tiledRect(const QRectF &window, const QSize &tileSize); + bool isPaintConnected(); }; QT_END_NAMESPACE |