Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtdeclarative
authorMartin Jones <martin.jones@nokia.com>
Tue, 31 May 2011 05:34:37 +0000 (15:34 +1000)
committerMartin Jones <martin.jones@nokia.com>
Tue, 31 May 2011 05:34:37 +0000 (15:34 +1000)
Conflicts:
src/declarative/debugger/qpacketprotocol.cpp

Change-Id: I61f500a08ce73def34c093344bfdad44a6c9a6f1

1  2 
src/declarative/debugger/qdeclarativedebug.cpp
src/declarative/debugger/qpacketprotocol.cpp

@@@ -164,47 -163,44 +164,43 @@@ public Q_SLOTS
  
      void readyToRead()
      {
-         if(-1 == inProgressSize) {
-             // We need a size header of sizeof(qint32)
-             if(sizeof(qint32) > (uint)dev->bytesAvailable())
-                 return;
-             // Read size header
-             int read = dev->read((char *)&inProgressSize, sizeof(qint32));
-             Q_ASSERT(read == sizeof(qint32));
-             Q_UNUSED(read);
-             // Check sizing constraints
-             if(inProgressSize > maxPacketSize) {
-                 QObject::disconnect(dev, SIGNAL(readyRead()),
-                                     this, SLOT(readyToRead()));
-                 QObject::disconnect(dev, SIGNAL(aboutToClose()),
-                                     this, SLOT(aboutToClose()));
-                 QObject::disconnect(dev, SIGNAL(bytesWritten(qint64)),
-                                     this, SLOT(bytesWritten(qint64)));
-                 dev = 0;
-                 emit invalidPacket();
-                 return;
-             }
-             inProgressSize -= sizeof(qint32);
+         while (true) {
              // Need to get trailing data
-             readyToRead();
-         } else {
-             inProgress.append(dev->read(inProgressSize - inProgress.size()));
-             if(inProgressSize == inProgress.size()) {
-                 // Packet has arrived!
-                 packets.append(inProgress);
-                 inProgressSize = -1;
-                 inProgress.clear();
-                 emit readyRead();
-                 waitingForPacket = false;
-                 // Need to get trailing data
-                 readyToRead();
+             if (-1 == inProgressSize) {
+                 // We need a size header of sizeof(qint32)
+                 if (sizeof(qint32) > (uint)dev->bytesAvailable())
+                     return;
+                 // Read size header
+                 int read = dev->read((char *)&inProgressSize, sizeof(qint32));
+                 Q_ASSERT(read == sizeof(qint32));
+                 Q_UNUSED(read);
+                 // Check sizing constraints
+                 if (inProgressSize > maxPacketSize) {
+                     QObject::disconnect(dev, SIGNAL(readyRead()),
+                                         this, SLOT(readyToRead()));
+                     QObject::disconnect(dev, SIGNAL(aboutToClose()),
+                                         this, SLOT(aboutToClose()));
+                     QObject::disconnect(dev, SIGNAL(bytesWritten(qint64)),
+                                         this, SLOT(bytesWritten(qint64)));
+                     dev = 0;
+                     emit invalidPacket();
+                     return;
+                 }
+                 inProgressSize -= sizeof(qint32);
+             } else {
+                 inProgress.append(dev->read(inProgressSize - inProgress.size()));
+                 if (inProgressSize == inProgress.size()) {
+                     // Packet has arrived!
+                     packets.append(inProgress);
+                     inProgressSize = -1;
+                     inProgress.clear();
 -
+                     emit readyRead();
+                 } else
+                     return;
              }
          }
      }