[PATCH 2/3] user32: Add support for window class redirection with SxS manifest
Nikolay Sivov
bunglehead at gmail.com
Thu Dec 17 16:00:54 CST 2009
This is the main one, code was tested with a primitive application (modified a bit)
that I posted some days ago to wine-devel.
All aspects I discovered with it are implemented with this patch:
- if manifest contains a builtin class redirect then builtin isn't registered
on dll load, e.g. you can't create Button if you have it in manifest but
you SxS module isn't loaded;
- if a SxS module isn't loaded when window is about to created a registration
attempt will be done, but it's useless - looks like user32 LoadLibrary()/FreeLibrary() it
to call RegisterClassNameW(). A LoadLibrary() before window creation will keep
SxS module from unloading from user32, this is also tested and is the same with native;
- on failed GetProcAddress() or RegisterClassNameW() no builtin registration
performed, it's just left as is;
- no exception guards used to protect RegisterClassNameW() - I crashed it successfully
with explicit null pointer dereference in dll code.
More information about the wine-patches
mailing list