summaryrefslogtreecommitdiffstats
path: root/src/network/kernel
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-07-03 23:56:45 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-07-03 23:56:45 +0200
commit39a290af6cea538dbbdb207d03d2af3602015c95 (patch)
tree19aa95412d02cf53e87c53364ef3ca98780c45c6 /src/network/kernel
parent0541516907da117c391b6c8d9820209673fcd9cd (diff)
parent19d289ab1b5bde3e136765e5432b5c7d004df3a4 (diff)
Merge remote-tracking branch 'origin/5.3' into dev
Conflicts: src/gui/accessible/qaccessiblecache_mac.mm src/gui/accessible/qaccessiblecache_p.h src/plugins/platforms/cocoa/qcocoaaccessibilityelement.h src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/widgets/kernel/qwidget_qpa.cpp Manually moved change in qwidget_qpa.cpp to qwidget.cpp (cd07830e3b27da7e96a0a83f91ba08c168b45e62) Change-Id: Ia51f471f9b53de2f3b07d77ea89db9303ac8961d
Diffstat (limited to 'src/network/kernel')
-rw-r--r--src/network/kernel/qdnslookup_winrt.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/network/kernel/qdnslookup_winrt.cpp b/src/network/kernel/qdnslookup_winrt.cpp
index 3a84279af6..52a8c3a530 100644
--- a/src/network/kernel/qdnslookup_winrt.cpp
+++ b/src/network/kernel/qdnslookup_winrt.cpp
@@ -116,6 +116,8 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN
unsigned int size;
endpointPairs->get_Size(&size);
+ // endpoint pairs might contain duplicates so we temporarily store addresses in a QSet
+ QSet<QHostAddress> addresses;
for (unsigned int i = 0; i < size; ++i) {
ComPtr<IEndpointPair> endpointpair;
endpointPairs->GetAt(i, &endpointpair);
@@ -133,9 +135,12 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN
remoteHost->get_CanonicalName(name.GetAddressOf());
UINT32 length;
PCWSTR rawString = name.GetRawBuffer(&length);
+ addresses.insert(QHostAddress(QString::fromWCharArray(rawString, length)));
+ }
+ foreach (const QHostAddress &address, addresses) {
QDnsHostAddressRecord record;
record.d->name = aceHostname;
- record.d->value = QHostAddress(QString::fromWCharArray(rawString, length));
+ record.d->value = address;
reply->hostAddressRecords.append(record);
}
}