Description
Using wine's comctl32 (this happens also with latest Wine 11), changing wizard (or property sheet) titles is buggy in the following cases:
- All the wizard pages don't have a title, and a title is initially set to the wizard dialog during initialization (via a `PSM_SETTITLE` message): the wizard should be displayed with the specified title (OK on Windows 2003, 7...), but is shown without any title (on ReactOS/Wine).
- The first wizard page (or a later one) has an explicit non-empty title, and the others have none: once switching to that page, this title should be set to the wizard dialog, and when switching to the other pages that have no title, the old (non-empty) title has to stay, until another page with a (possibly different) non-empty title is reached.
This works on Windows 2003, 7... but not on ReactOS/Wine.
These problems are traced to the following places:
- In PROPSHEET_CollectSheetInfoA/W():
Aero wizards do use PROPSHEETHEADER::pszCaption, so it should not forcefully be set to NULL when initializing a property sheet wizard.
- In PROPSHEET_ShowPage():
The wizard dialog title should be changed on page change ONLY if pszText is NOT the empty string.
- In PROPSHEET_DialogProc(), WM_INITDIALOG handler:
The IS_INTRESOURCE(pszCaption) special case is useless, since PROPSHEET_SetTitleW() can deal with strings passed via resource ID.
In addition, PROPSHEET_SetTitleW() should be invoked only for property sheets, not wizards (except for Aero wizards, which is a TODO).