uxtheme: If the application class is already set then OpenThemeData() should fail.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
This commit is contained in:
parent
87f1a38019
commit
dfffe7b49c
2 changed files with 12 additions and 8 deletions
|
@ -1076,9 +1076,12 @@ PTHEME_CLASS MSSTYLES_OpenThemeClass(LPCWSTR pszAppName, LPCWSTR pszClassList, U
|
|||
|
||||
parse_app_class_name(buf, szAppName, szClassName);
|
||||
if (szAppName[0])
|
||||
cls = MSSTYLES_FindClass(tfActiveTheme, szAppName, szClassName);
|
||||
else
|
||||
cls = MSSTYLES_FindClass(tfActiveTheme, pszAppName, szClassName);
|
||||
{
|
||||
/* If the application class is already set then fail */
|
||||
if (pszAppName) return NULL;
|
||||
pszAppName = szAppName;
|
||||
}
|
||||
cls = MSSTYLES_FindClass(tfActiveTheme, pszAppName, szClassName);
|
||||
|
||||
/* Fall back to default class if the specified subclass is not found */
|
||||
if (!cls) cls = MSSTYLES_FindClass(tfActiveTheme, NULL, szClassName);
|
||||
|
@ -1088,9 +1091,12 @@ PTHEME_CLASS MSSTYLES_OpenThemeClass(LPCWSTR pszAppName, LPCWSTR pszClassList, U
|
|||
if(!cls && *start) {
|
||||
parse_app_class_name(start, szAppName, szClassName);
|
||||
if (szAppName[0])
|
||||
cls = MSSTYLES_FindClass(tfActiveTheme, szAppName, szClassName);
|
||||
else
|
||||
cls = MSSTYLES_FindClass(tfActiveTheme, pszAppName, szClassName);
|
||||
{
|
||||
/* If the application class is already set then fail */
|
||||
if (pszAppName) return NULL;
|
||||
pszAppName = szAppName;
|
||||
}
|
||||
cls = MSSTYLES_FindClass(tfActiveTheme, pszAppName, szClassName);
|
||||
|
||||
/* Fall back to default class if the specified subclass is not found */
|
||||
if (!cls) cls = MSSTYLES_FindClass(tfActiveTheme, NULL, szClassName);
|
||||
|
|
|
@ -562,9 +562,7 @@ static void test_OpenThemeData(void)
|
|||
ok(hRes == S_OK, "Got unexpected hr %#lx.\n", hRes);
|
||||
SetLastError(0xdeadbeef);
|
||||
hTheme = OpenThemeData(hWnd, L"explorer::treeview");
|
||||
todo_wine
|
||||
ok(!hTheme, "OpenThemeData() should fail\n");
|
||||
todo_wine
|
||||
ok(GetLastError() == E_PROP_ID_UNSUPPORTED, "Got unexpected %#lx.\n", GetLastError());
|
||||
SetWindowTheme(hWnd, NULL, NULL);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue