Browse Source

Let ReverseResolution always return/emit a result

adaptive-webui-19844
Chocobo1 5 years ago
parent
commit
b2ab6c1858
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 25
      src/base/net/reverseresolution.cpp
  2. 3
      src/gui/properties/peerlistwidget.cpp

25
src/base/net/reverseresolution.cpp

@ -59,15 +59,9 @@ ReverseResolution::~ReverseResolution()
void ReverseResolution::resolve(const QHostAddress &ip) void ReverseResolution::resolve(const QHostAddress &ip)
{ {
if (ip.isNull())
return;
const QString *hostname = m_cache.object(ip); const QString *hostname = m_cache.object(ip);
if (hostname) { if (hostname) {
if (hostname->isEmpty()) emit ipResolved(ip, *hostname);
; // resolution didn't get meaningful results, so do nothing
else
emit ipResolved(ip, *hostname);
return; return;
} }
@ -80,15 +74,14 @@ void ReverseResolution::hostResolved(const QHostInfo &host)
{ {
const QHostAddress ip = m_lookups.take(host.lookupId()); const QHostAddress ip = m_lookups.take(host.lookupId());
if (host.error() != QHostInfo::NoError) if (host.error() != QHostInfo::NoError) {
emit ipResolved(ip, {});
return; return;
const QString hostname = host.hostName();
if (isUsefulHostName(hostname, ip)) {
m_cache.insert(ip, new QString(hostname));
emit ipResolved(ip, hostname);
}
else {
m_cache.insert(ip, new QString());
} }
const QString hostname = isUsefulHostName(host.hostName(), ip)
? host.hostName()
: QString();
m_cache.insert(ip, new QString(hostname));
emit ipResolved(ip, hostname);
} }

3
src/gui/properties/peerlistwidget.cpp

@ -428,6 +428,9 @@ void PeerListWidget::updatePeer(const BitTorrent::TorrentHandle *torrent, const
void PeerListWidget::handleResolved(const QHostAddress &ip, const QString &hostname) const void PeerListWidget::handleResolved(const QHostAddress &ip, const QString &hostname) const
{ {
if (hostname.isEmpty())
return;
const QSet<QStandardItem *> items = m_itemsByIP.value(ip); const QSet<QStandardItem *> items = m_itemsByIP.value(ip);
for (QStandardItem *item : items) for (QStandardItem *item : items)
item->setData(hostname, Qt::DisplayRole); item->setData(hostname, Qt::DisplayRole);

Loading…
Cancel
Save