Signed-off-by: Nikolay Sivov nsivov@codeweavers.com ---
Resending to make it appear on patch list.
dlls/user32/class.c | 5 ++++- dlls/user32/tests/class.c | 1 + 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/class.c b/dlls/user32/class.c index d4e7951d39..ce2830fe25 100644 --- a/dlls/user32/class.c +++ b/dlls/user32/class.c @@ -333,6 +333,7 @@ const WCHAR *CLASS_GetVersionedName( const WCHAR *name, UINT *basename_offset, B ULONG module_offset; } *wndclass; const WCHAR *module, *ret; + UNICODE_STRING name_us; HMODULE hmod;
if (basename_offset) @@ -345,7 +346,9 @@ const WCHAR *CLASS_GetVersionedName( const WCHAR *name, UINT *basename_offset, B return name;
data.cbSize = sizeof(data); - if (!FindActCtxSectionStringW(0, NULL, ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION, name, &data)) + RtlInitUnicodeString(&name_us, name); + if (RtlFindActivationContextSectionString(0, NULL, ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION, + &name_us, &data)) return name;
wndclass = (struct wndclass_redirect_data *)data.lpData; diff --git a/dlls/user32/tests/class.c b/dlls/user32/tests/class.c index a9eee4109c..92b9ad93a2 100644 --- a/dlls/user32/tests/class.c +++ b/dlls/user32/tests/class.c @@ -998,6 +998,7 @@ if (0) { /* crashes under XP */ SetLastError(0xdeadbeef); ret = GetClassInfoExA(0, "static", &wcx); ok(ret, "GetClassInfoExA() error %d\n", GetLastError()); + ok(GetLastError() == 0xdeadbeef, "Unexpected error code %d\n", GetLastError()); ok(wcx.cbSize == 0, "expected 0, got %u\n", wcx.cbSize); ok(wcx.lpfnWndProc != NULL, "got null proc\n");