[UXTHEME]
authorJames Tabor <james.tabor@reactos.org>
Sun, 20 May 2012 05:11:54 +0000 (05:11 +0000)
committerJames Tabor <james.tabor@reactos.org>
Sun, 20 May 2012 05:11:54 +0000 (05:11 +0000)
- 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

reactos/dll/win32/uxtheme/system.c
reactos/dll/win32/uxtheme/uxtheme.spec
reactos/include/psdk/uxtheme.h

index fd11cf0..2aca43e 100644 (file)
@@ -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.@)
  *
index 01f3608..d387d34 100644 (file)
@@ -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
 
index ae680fc..cd98a46 100644 (file)
@@ -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