src/network/bearer/qnetworkconfiguration.cpp
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
child 37 758a864f9613
--- a/src/network/bearer/qnetworkconfiguration.cpp	Tue Jul 06 15:10:48 2010 +0300
+++ b/src/network/bearer/qnetworkconfiguration.cpp	Wed Aug 18 10:37:55 2010 +0300
@@ -343,9 +343,11 @@
 }
 
 /*!
-    Returns all sub configurations of this network configuration.
-    Only network configurations of type \l ServiceNetwork can have children. Otherwise
-    this function returns an empty list.
+    Returns all sub configurations of this network configuration in priority order. The first sub
+    configuration in the list has the highest priority.
+
+    Only network configurations of type \l ServiceNetwork can have children. Otherwise this
+    function returns an empty list.
 */
 QList<QNetworkConfiguration> QNetworkConfiguration::children() const
 {
@@ -356,16 +358,18 @@
 
     QMutexLocker locker(&d->mutex);
 
-    QMutableListIterator<QNetworkConfigurationPrivatePointer> iter(d->serviceNetworkMembers);
-    while (iter.hasNext()) {
-        QNetworkConfigurationPrivatePointer p = iter.next();
+    QMutableMapIterator<unsigned int, QNetworkConfigurationPrivatePointer> i(d->serviceNetworkMembers);
+    while (i.hasNext()) {
+        i.next();
+
+        QNetworkConfigurationPrivatePointer p = i.value();
 
         //if we have an invalid member get rid of it -> was deleted earlier on
         {
             QMutexLocker childLocker(&p->mutex);
 
             if (!p->isValid) {
-                iter.remove();
+                i.remove();
                 continue;
             }
         }
@@ -428,6 +432,5 @@
     return d->bearerName();
 }
 
-
 QT_END_NAMESPACE