https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b42ddce11a7f9e60f434f…
commit b42ddce11a7f9e60f434f2abcace59c5c938f21e
Author: Kyle Katarn <contact(a)kcsoftwares.com>
AuthorDate: Sat Sep 3 23:30:57 2022 +0200
Commit: GitHub <noreply(a)github.com>
CommitDate: Sat Sep 3 23:30:57 2022 +0200
[NETSHELL] Fix "ghost" network activity when opening Network Status page
(#4662)
Opening Network Status page creates a systematic "ghost" network activity,
activating RX+TX activity icon both on property page and tray, while no Rx/Tx.
This is due to pContext->dw[In|Out]Octets being initialized to 0 and compared
to refreshed interface data.
To circumvent this, copy refreshed interface data to the context on first update.
---
dll/shellext/netshell/lanstatusui.cpp | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/dll/shellext/netshell/lanstatusui.cpp
b/dll/shellext/netshell/lanstatusui.cpp
index f6e88ea9d51..64f38ef4a0f 100644
--- a/dll/shellext/netshell/lanstatusui.cpp
+++ b/dll/shellext/netshell/lanstatusui.cpp
@@ -130,6 +130,17 @@ UpdateLanStatus(HWND hwndDlg, LANSTATUSUI_CONTEXT * pContext)
return;
}
+ if (pContext->Status == (UINT)-1)
+ {
+ /*
+ * On first execution, pContext->dw[In|Out]Octets will be zero while
+ * the interface info is already refreshed with non-null data, so a
+ * gap is normal and does not correspond to an effective TX or RX packet.
+ */
+ pContext->dwInOctets = IfEntry.dwInOctets;
+ pContext->dwOutOctets = IfEntry.dwOutOctets;
+ }
+
hIcon = NULL;
if (IfEntry.dwOperStatus == MIB_IF_OPER_STATUS_CONNECTED || IfEntry.dwOperStatus ==
MIB_IF_OPER_STATUS_OPERATIONAL)
{