diff --git a/dlls/uxtheme/system.c b/dlls/uxtheme/system.c index 49742c947a0..33e407fdf82 100644 --- a/dlls/uxtheme/system.c +++ b/dlls/uxtheme/system.c @@ -690,6 +690,10 @@ HRESULT WINAPI SetWindowTheme(HWND hwnd, LPCWSTR pszSubAppName, HRESULT hr; TRACE("(%p,%s,%s)\n", hwnd, debugstr_w(pszSubAppName), debugstr_w(pszSubIdList)); + + if (!hwnd) + return E_HANDLE; + hr = UXTHEME_SetWindowProperty(hwnd, atSubAppName, pszSubAppName); if(SUCCEEDED(hr)) hr = UXTHEME_SetWindowProperty(hwnd, atSubIdList, pszSubIdList); diff --git a/dlls/uxtheme/tests/system.c b/dlls/uxtheme/tests/system.c index 7ec72e30259..869dbe2cdc9 100644 --- a/dlls/uxtheme/tests/system.c +++ b/dlls/uxtheme/tests/system.c @@ -104,7 +104,6 @@ static void test_SetWindowTheme(void) HWND hWnd; hRes = SetWindowTheme(NULL, NULL, NULL); -todo_wine ok( hRes == E_HANDLE, "Expected E_HANDLE, got 0x%08x\n", hRes); /* Only do the bare minimum to get a valid hwnd */