diff -r 5dc02b23752f -r 3e2da88830cd src/declarative/graphicsitems/qdeclarativeborderimage_p_p.h --- a/src/declarative/graphicsitems/qdeclarativeborderimage_p_p.h Tue Jul 06 15:10:48 2010 +0300 +++ b/src/declarative/graphicsitems/qdeclarativeborderimage_p_p.h Wed Aug 18 10:37:55 2010 +0300 @@ -66,7 +66,6 @@ public: QDeclarativeBorderImagePrivate() : border(0), sciReply(0), - sciPendingPixmapCache(false), horizontalTileMode(QDeclarativeBorderImage::Stretch), verticalTileMode(QDeclarativeBorderImage::Stretch), redirectCount(0) @@ -77,18 +76,26 @@ { } + QDeclarativeScaleGrid *getScaleGrid() { Q_Q(QDeclarativeBorderImage); - if (!border) + if (!border) { border = new QDeclarativeScaleGrid(q); + static int borderChangedSignalIdx = -1; + static int doUpdateSlotIdx = -1; + if (borderChangedSignalIdx < 0) + borderChangedSignalIdx = QDeclarativeScaleGrid::staticMetaObject.indexOfSignal("borderChanged()"); + if (doUpdateSlotIdx < 0) + doUpdateSlotIdx = QDeclarativeBorderImage::staticMetaObject.indexOfSlot("doUpdate()"); + QMetaObject::connect(border, borderChangedSignalIdx, q, doUpdateSlotIdx); + } return border; } QDeclarativeScaleGrid *border; QUrl sciurl; QNetworkReply *sciReply; - bool sciPendingPixmapCache; QDeclarativeBorderImage::TileMode horizontalTileMode; QDeclarativeBorderImage::TileMode verticalTileMode; int redirectCount;