summaryrefslogtreecommitdiffstats
path: root/src/network/kernel/qhostinfo.cpp
diff options
context:
space:
mode:
authorMarkus Goetz <Markus.Goetz@nokia.com>2010-05-05 10:37:21 (GMT)
committerMarkus Goetz <Markus.Goetz@nokia.com>2010-05-05 11:37:13 (GMT)
commitff2b6ddfd2763b6b365c7466d51a1e2374e4bd4b (patch)
tree9fd0940d6be6f7c35a49155eac6ee8f6466e12eb /src/network/kernel/qhostinfo.cpp
parent95a69f37ec156a2506b140e5e349bb7f68e112a5 (diff)
downloadQt-ff2b6ddfd2763b6b365c7466d51a1e2374e4bd4b.zip
Qt-ff2b6ddfd2763b6b365c7466d51a1e2374e4bd4b.tar.gz
Qt-ff2b6ddfd2763b6b365c7466d51a1e2374e4bd4b.tar.bz2
QHostInfo: Emit postponed lookup results when finishing current
Reviewed-by: Thiago
Diffstat (limited to 'src/network/kernel/qhostinfo.cpp')
-rw-r--r--src/network/kernel/qhostinfo.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/network/kernel/qhostinfo.cpp b/src/network/kernel/qhostinfo.cpp
index fd39347..28a6c84 100644
--- a/src/network/kernel/qhostinfo.cpp
+++ b/src/network/kernel/qhostinfo.cpp
@@ -471,6 +471,18 @@ void QHostInfoRunnable::run()
hostInfo.setLookupId(id);
resultEmitter.emitResultsReady(hostInfo);
+ // now also iterate through the postponed ones
+ QMutableListIterator<QHostInfoRunnable*> iterator(manager->postponedLookups);
+ while (iterator.hasNext()) {
+ QHostInfoRunnable* postponed = iterator.next();
+ if (toBeLookedUp == postponed->toBeLookedUp) {
+ // we can now emit
+ iterator.remove();
+ hostInfo.setLookupId(postponed->id);
+ postponed->resultEmitter.emitResultsReady(hostInfo);
+ }
+ }
+
manager->lookupFinished(this);
// thread goes back to QThreadPool