src/declarative/graphicsitems/qdeclarativeborderimage_p_p.h
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
--- 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;