From 5855a53b748551f535d4f9f482631b2c657a1dd4 Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Wed, 8 Mar 2017 15:08:56 +0000 Subject: [PATCH] [UXTHEME] -Fix most new tests for DrawThemeParentBackground. Hackfix CloseThemeData. svn path=/trunk/; revision=74127 --- reactos/dll/win32/uxtheme/draw.c | 10 +++++++++- reactos/dll/win32/uxtheme/system.c | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/reactos/dll/win32/uxtheme/draw.c b/reactos/dll/win32/uxtheme/draw.c index f9d9eec8a5f..a4064b041cc 100644 --- a/reactos/dll/win32/uxtheme/draw.c +++ b/reactos/dll/win32/uxtheme/draw.c @@ -78,9 +78,17 @@ HRESULT WINAPI DrawThemeParentBackground(HWND hwnd, HDC hdc, RECT *prc) int hasClip = -1; TRACE("(%p,%p,%p)\n", hwnd, hdc, prc); + + if (!IsWindow(hwnd) || !hdc) + return E_HANDLE; + + if (prc && IsBadReadPtr (prc, sizeof(RECT))) + return E_POINTER; + hParent = GetParent(hwnd); if(!hParent) - hParent = hwnd; + return S_OK; + if(prc) { rt = *prc; MapWindowPoints(hwnd, hParent, (LPPOINT)&rt, 2); diff --git a/reactos/dll/win32/uxtheme/system.c b/reactos/dll/win32/uxtheme/system.c index a3b1ca1c4f9..393778f3f2a 100644 --- a/reactos/dll/win32/uxtheme/system.c +++ b/reactos/dll/win32/uxtheme/system.c @@ -897,6 +897,8 @@ HRESULT WINAPI CloseThemeData(HTHEME hTheme) TRACE("(%p)\n", hTheme); if(!hTheme || hTheme == INVALID_HANDLE_VALUE) return E_HANDLE; + if(IsBadReadPtr (hTheme, sizeof(THEME_CLASS))) /* This check is a hack! */ + return E_HANDLE; return MSSTYLES_CloseThemeClass(hTheme); }