From: James Tabor Date: Sun, 20 May 2012 05:11:54 +0000 (+0000) Subject: [UXTHEME] X-Git-Tag: backups/ros-csrss@57560~901 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=beb9a0d70f237826471ea0f77e9fa2a90abd60b6 [UXTHEME] - Partial sync port Wine 1.5.4 for system.c. - Researched branches/GSoC_2011/ThemesSupport and current changes before sync. svn path=/trunk/; revision=56642 --- diff --git a/reactos/dll/win32/uxtheme/system.c b/reactos/dll/win32/uxtheme/system.c index fd11cf0947b..2aca43e626e 100644 --- a/reactos/dll/win32/uxtheme/system.c +++ b/reactos/dll/win32/uxtheme/system.c @@ -620,9 +620,9 @@ static LPWSTR UXTHEME_GetWindowProperty(HWND hwnd, ATOM aProp, LPWSTR pszBuffer, } /*********************************************************************** - * OpenThemeData (UXTHEME.@) + * OpenThemeDataEx (UXTHEME.61) */ -HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR pszClassList) +HTHEME WINAPI OpenThemeDataEx(HWND hwnd, LPCWSTR pszClassList, DWORD flags) { WCHAR szAppBuff[256]; WCHAR szClassBuff[256]; @@ -631,8 +631,14 @@ HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR pszClassList) HTHEME hTheme = NULL; TRACE("(%p,%s)\n", hwnd, debugstr_w(pszClassList)); - if(pszClassList == NULL) - SetLastError(E_POINTER); + if(!pszClassList) + { + SetLastError(E_POINTER); + return NULL; + } + + if(flags) + FIXME("unhandled flags: %x\n", flags); if(bThemeActive) { @@ -648,10 +654,17 @@ HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR pszClassList) if(IsWindow(hwnd)) SetPropW(hwnd, (LPCWSTR)MAKEINTATOM(atWindowTheme), hTheme); TRACE(" = %p\n", hTheme); - return hTheme; } +/*********************************************************************** + * OpenThemeData (UXTHEME.@) + */ +HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist) +{ + return OpenThemeDataEx(hwnd, classlist, 0); +} + /*********************************************************************** * GetWindowTheme (UXTHEME.@) * diff --git a/reactos/dll/win32/uxtheme/uxtheme.spec b/reactos/dll/win32/uxtheme/uxtheme.spec index 01f3608417b..d387d3473d2 100644 --- a/reactos/dll/win32/uxtheme/uxtheme.spec +++ b/reactos/dll/win32/uxtheme/uxtheme.spec @@ -38,7 +38,7 @@ 46 stub -noname ClassicAdjustWindowRectEx 48 stub -noname GetThemeParseErrorInfo 60 stub -noname CreateThemeDataFromObjects -61 stub -noname OpenThemeDataEx +61 stdcall OpenThemeDataEx(ptr wstr long) 62 stub -noname ServerClearStockObjects 63 stub -noname MarkSelection diff --git a/reactos/include/psdk/uxtheme.h b/reactos/include/psdk/uxtheme.h index ae680fc0be5..cd98a46ae19 100644 --- a/reactos/include/psdk/uxtheme.h +++ b/reactos/include/psdk/uxtheme.h @@ -136,6 +136,7 @@ BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME,int,int); BOOL WINAPI IsThemeDialogTextureEnabled(HWND); BOOL WINAPI IsThemePartDefined(HTHEME,int,int); HTHEME WINAPI OpenThemeData(HWND,LPCWSTR); +HTHEME WINAPI OpenThemeDataEx(HWND,LPCWSTR,DWORD); void WINAPI SetThemeAppProperties(DWORD); HRESULT WINAPI SetWindowTheme(HWND,LPCWSTR,LPCWSTR); #endif