user32: Avoid touching last error on successful path of GetClassInfo().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Nikolay Sivov 2018-05-08 10:54:40 +03:00 committed by Alexandre Julliard
parent cf9c6fc0e3
commit c4fd1099dd
2 changed files with 5 additions and 1 deletions

View File

@ -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;

View File

@ -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");