From 4b75ec5508d47b726d1210e24f5a849dae4e3bda Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Thu, 12 Mar 2026 11:27:24 +0100 Subject: [PATCH] [NETCFGX] Fix alternate configuration TCP/IP dialog Gateway and name server ip address controls must only be enabled and initialized when a non-APIPA configuration has been selected. --- dll/win32/netcfgx/tcpipconf_notify.c | 34 ++++++++++++---------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/dll/win32/netcfgx/tcpipconf_notify.c b/dll/win32/netcfgx/tcpipconf_notify.c index 2e01985b6f3..6582a21d651 100644 --- a/dll/win32/netcfgx/tcpipconf_notify.c +++ b/dll/win32/netcfgx/tcpipconf_notify.c @@ -2207,8 +2207,6 @@ InitializeTcpipAltDlgCtrls( else { CheckRadioButton(hwndDlg, IDC_USEDHCP, IDC_NODHCP, IDC_NODHCP); - EnableWindow(GetDlgItem(hwndDlg, IDC_DNS1), TRUE); - EnableWindow(GetDlgItem(hwndDlg, IDC_DNS2), TRUE); if (pCurSettings->Ip) { @@ -2217,26 +2215,20 @@ InitializeTcpipAltDlgCtrls( /* Set current hostmask */ SendDlgItemMessageA(hwndDlg, IDC_SUBNETMASK, IPM_SETADDRESS, 0, (LPARAM)pCurSettings->Ip->u.Subnetmask); } - } - if (pCurSettings->Gw && pCurSettings->Gw->IpAddress) - { - /* Set current gateway */ - SendDlgItemMessageA(hwndDlg, IDC_DEFGATEWAY, IPM_SETADDRESS, 0, (LPARAM)pCurSettings->Gw->IpAddress); - } + if (pCurSettings->Gw && pCurSettings->Gw->IpAddress) + { + /* Set current gateway */ + SendDlgItemMessageA(hwndDlg, IDC_DEFGATEWAY, IPM_SETADDRESS, 0, (LPARAM)pCurSettings->Gw->IpAddress); + } - if (pCurSettings->Ns) - { - SendDlgItemMessageW(hwndDlg, IDC_DNS1, IPM_SETADDRESS, 0, (LPARAM)pCurSettings->Ns->IpAddress); - if (pCurSettings->Ns->Next) - SendDlgItemMessageW(hwndDlg, IDC_DNS2, IPM_SETADDRESS, 0, (LPARAM)pCurSettings->Ns->Next->IpAddress); - else - SendDlgItemMessageW(hwndDlg, IDC_DNS2, IPM_CLEARADDRESS, 0, 0); - } - else - { - SendDlgItemMessageW(hwndDlg, IDC_DNS1, IPM_CLEARADDRESS, 0, 0); - SendDlgItemMessageW(hwndDlg, IDC_DNS2, IPM_CLEARADDRESS, 0, 0); + if (pCurSettings->Ns) + { + /* Set name server addresses */ + SendDlgItemMessageW(hwndDlg, IDC_DNS1, IPM_SETADDRESS, 0, (LPARAM)pCurSettings->Ns->IpAddress); + if (pCurSettings->Ns->Next) + SendDlgItemMessageW(hwndDlg, IDC_DNS2, IPM_SETADDRESS, 0, (LPARAM)pCurSettings->Ns->Next->IpAddress); + } } return S_OK; @@ -2280,6 +2272,8 @@ TcpipAltConfDlg( SendDlgItemMessageW(hwndDlg, IDC_IPADDR, IPM_CLEARADDRESS, 0, 0); SendDlgItemMessageW(hwndDlg, IDC_SUBNETMASK, IPM_CLEARADDRESS, 0, 0); SendDlgItemMessageW(hwndDlg, IDC_DEFGATEWAY, IPM_CLEARADDRESS, 0, 0); + SendDlgItemMessageW(hwndDlg, IDC_DNS1, IPM_CLEARADDRESS, 0, 0); + SendDlgItemMessageW(hwndDlg, IDC_DNS2, IPM_CLEARADDRESS, 0, 0); } EnableWindow(GetDlgItem(hwndDlg, IDC_IPADDR), bNoDHCP);