André Hentschel wrote:
tests class redirection and "load"-order atm
dlls/comctl32/tests/Makefile.in | 1 + dlls/comctl32/tests/theming.c | 301 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 302 insertions(+), 0 deletions(-) create mode 100644 dlls/comctl32/tests/theming.c
Why not reuse this
+static const CHAR manifest[] =
from v6util.h.
Also it's better to introduce new create/delete manifest helpers in this header and use them.
It's better to use already defined classnames here: --- + struct classlist {WCHAR class[24]; BOOL todo;} listW[] = {like --- STATUSCLASSNAMEW for example.
If the purpose of that --- static void test_redirection(HINSTANCE hInstance, LPCWSTR clsname, BOOL todo) ---
is to show that message procedure moves to comctl32 after enabling themes than testing for comctl32 classes is useless - winproc is already in this module.
I don't think it's a good choice: --- + pIsThemeActive = (void*)GetProcAddress(hUxtheme, "IsThemeActive"); + if (!pIsThemeActive || !pIsThemeActive()) --- I mean what if I don't use theming on XP but classic decorations will it return TRUE? Not sure but maybe this class reregistration occurs anyway when v6 module is loaded (manifest specified). Skipping like that will drop tests on native boxes that have theming disable what isn't good.
BTW. Do you plan to reregister all user32 classes on comctl32 load? How could this be done at user32 side - testing for something like IsThemeActive() while loading user32?