Browse Source

Fixed bug that still wrote current value to registry when a choice item in the Properties UI was dismissed

pull/886/head
Valentin Radu 4 years ago
parent
commit
e1cb6253b1
  1. 6
      ExplorerPatcher/GUI.c

6
ExplorerPatcher/GUI.c

@ -1361,6 +1361,7 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
} }
else else
{ {
DWORD val = 0;
if (bChoice || bChoiceLefted) if (bChoice || bChoiceLefted)
{ {
RECT rcTemp; RECT rcTemp;
@ -1379,7 +1380,7 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
hwnd, hwnd,
&p &p
); );
DWORD val = TrackPopupMenu( val = TrackPopupMenu(
hMenu, hMenu,
TPM_RETURNCMD | TPM_RIGHTBUTTON, TPM_RETURNCMD | TPM_RIGHTBUTTON,
p.x, p.x,
@ -1402,6 +1403,8 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
{ {
value = _this->section + 1; value = _this->section + 1;
} }
if (!(bChoice || bChoiceLefted) || ((bChoice || bChoiceLefted) && val))
{
GUI_RegSetValueExW( GUI_RegSetValueExW(
hKey, hKey,
name, name,
@ -1411,6 +1414,7 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
sizeof(DWORD) sizeof(DWORD)
); );
} }
}
InvalidateRect(hwnd, NULL, FALSE); InvalidateRect(hwnd, NULL, FALSE);
} }
if (hKey) if (hKey)

Loading…
Cancel
Save