summaryrefslogtreecommitdiffstats
path: root/src/declarative/graphicsitems/qdeclarativerectangle_p_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/graphicsitems/qdeclarativerectangle_p_p.h')
-rw-r--r--src/declarative/graphicsitems/qdeclarativerectangle_p_p.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/declarative/graphicsitems/qdeclarativerectangle_p_p.h b/src/declarative/graphicsitems/qdeclarativerectangle_p_p.h
index 84418bc..001b018 100644
--- a/src/declarative/graphicsitems/qdeclarativerectangle_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativerectangle_p_p.h
@@ -81,12 +81,18 @@ public:
qreal radius;
qreal paintmargin;
QPixmap rectImage;
+ static int doUpdateSlotIdx;
QDeclarativePen *getPen() {
if (!pen) {
Q_Q(QDeclarativeRectangle);
pen = new QDeclarativePen;
- QObject::connect(pen, SIGNAL(penChanged()), q, SLOT(doUpdate()));
+ static int penChangedSignalIdx = -1;
+ if (penChangedSignalIdx < 0)
+ penChangedSignalIdx = QDeclarativePen::staticMetaObject.indexOfSignal("penChanged()");
+ if (doUpdateSlotIdx < 0)
+ doUpdateSlotIdx = QDeclarativeRectangle::staticMetaObject.indexOfSlot("doUpdate()");
+ QMetaObject::connect(pen, penChangedSignalIdx, q, doUpdateSlotIdx);
}
return pen;
}