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. 19
      src/base/net/reverseresolution.cpp
  2. 3
      src/gui/properties/peerlistwidget.cpp

19
src/base/net/reverseresolution.cpp

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

3
src/gui/properties/peerlistwidget.cpp

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

Loading…
Cancel
Save