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. 22
      ExplorerPatcher/GUI.c

22
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,14 +1403,17 @@ static BOOL GUI_Build(HDC hDC, HWND hwnd, POINT pt)
{ {
value = _this->section + 1; value = _this->section + 1;
} }
GUI_RegSetValueExW( if (!(bChoice || bChoiceLefted) || ((bChoice || bChoiceLefted) && val))
hKey, {
name, GUI_RegSetValueExW(
0, hKey,
REG_DWORD, name,
&value, 0,
sizeof(DWORD) REG_DWORD,
); &value,
sizeof(DWORD)
);
}
} }
InvalidateRect(hwnd, NULL, FALSE); InvalidateRect(hwnd, NULL, FALSE);
} }

Loading…
Cancel
Save