diff --git a/src/lib/gui/core/NetworkMonitor.cpp b/src/lib/gui/core/NetworkMonitor.cpp index 35602d281..1406737c2 100644 --- a/src/lib/gui/core/NetworkMonitor.cpp +++ b/src/lib/gui/core/NetworkMonitor.cpp @@ -98,16 +98,11 @@ QList NetworkMonitor::getAvailableIPv4Addresses() const } } - auto physicalComparator = [](const QHostAddress &a, const QHostAddress &b) { - static const auto localIpFilter = QStringLiteral("192.168/16"); - if (a.isInSubnet(QHostAddress::parseSubnet(localIpFilter)) != - b.isInSubnet(QHostAddress::parseSubnet(localIpFilter))) { + std::sort(physicalIPs.begin(), physicalIPs.end(), [](const QHostAddress &a, const QHostAddress &b) { + if (a.isPrivateUse() != b.isPrivateUse()) return true; - } return a.toIPv4Address() < b.toIPv4Address(); - }; - - std::sort(physicalIPs.begin(), physicalIPs.end(), physicalComparator); + }); std::sort(virtualIPs.begin(), virtualIPs.end(), [](const QHostAddress &a, const QHostAddress &b) { return a.toIPv4Address() < b.toIPv4Address(); diff --git a/src/lib/gui/core/NetworkMonitor.h b/src/lib/gui/core/NetworkMonitor.h index 12a440410..4e44d550e 100644 --- a/src/lib/gui/core/NetworkMonitor.h +++ b/src/lib/gui/core/NetworkMonitor.h @@ -53,7 +53,7 @@ public: QList getAvailableIPv4Addresses() const; /** - * @brief Get recommended IP address (192.168.x.x preferred) + * @brief Get recommended IP address (RFC-1918 addresses preferred) * @return Recommended IP address, returns null if none available */ QHostAddress getSuggestedIPv4Address() const;