diff options
Diffstat (limited to 'src/network/kernel/qnetworkinterface_win.cpp')
-rw-r--r-- | src/network/kernel/qnetworkinterface_win.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/network/kernel/qnetworkinterface_win.cpp b/src/network/kernel/qnetworkinterface_win.cpp index f0c0ba2126..34d253a6d2 100644 --- a/src/network/kernel/qnetworkinterface_win.cpp +++ b/src/network/kernel/qnetworkinterface_win.cpp @@ -222,6 +222,14 @@ static QList<QNetworkInterfacePrivate *> interfaceListing() QNetworkAddressEntry entry; entry.setIp(addressFromSockaddr(addr->Address.lpSockaddr)); entry.setPrefixLength(addr->OnLinkPrefixLength); + + auto toDeadline = [](ULONG lifetime) -> QDeadlineTimer { + if (lifetime == 0xffffffffUL) + return QDeadlineTimer::Forever; + return QDeadlineTimer(lifetime * 1000); + }; + entry.setAddressLifetime(toDeadline(addr->ValidLifetime), toDeadline(addr->PreferredLifetime)); + iface->addressEntries << entry; } } |