comctl32: A PSM_SETWIZBUTTONS message specifying PSWIZB_FINISH or PSWIZB_DISABLEDFINISH, followed by another one without those flags should show the next button again and hide the finish button.
diff --git a/dlls/comctl32/propsheet.c b/dlls/comctl32/propsheet.c index c1654dd..a253099 100644 --- a/dlls/comctl32/propsheet.c +++ b/dlls/comctl32/propsheet.c
@@ -2438,14 +2438,6 @@ if (dwFlags & PSWIZB_NEXT) { - if (!psInfo->hasFinish) - { - /* Hide the Finish button */ - ShowWindow(hwndFinish, SW_HIDE); - } - - /* Show and enable the Next button */ - ShowWindow(hwndNext, SW_SHOW); EnableWindow(hwndNext, TRUE); /* Set the Next button as the default pushbutton */ @@ -2470,6 +2462,13 @@ SendMessageW(hwndDlg, DM_SETDEFID, IDC_FINISH_BUTTON, 0); } } + else + { + /* Hide the Finish button */ + ShowWindow(hwndFinish, SW_HIDE); + /* Show the Next button */ + ShowWindow(hwndNext, SW_SHOW); + } } else if (!(dwFlags & PSWIZB_DISABLEDFINISH)) EnableWindow(hwndFinish, TRUE);