Commit cc7042f9 authored by Dmitry Timoshkov's avatar Dmitry Timoshkov Committed by Alexandre Julliard

Implement comctl32.417 and shlwapi.299. This avoids crash in IE's

History.
parent 08e69396
...@@ -110,7 +110,7 @@ init COMCTL32_LibMain ...@@ -110,7 +110,7 @@ init COMCTL32_LibMain
414 stub @ 414 stub @
415 stdcall @(long long long long long) COMCTL32_415 415 stdcall @(long long long long long) COMCTL32_415
416 stub @ 416 stub @
417 stub @ 417 stdcall @(long long long long ptr wstr long ptr) COMCTL32_417
418 stub @ 418 stub @
419 stdcall @(long long long long) COMCTL32_419 419 stdcall @(long long long long) COMCTL32_419
420 stub @ 420 stub @
......
...@@ -1845,7 +1845,7 @@ DPA_GetPtrIndex (const HDPA hdpa, LPVOID p) ...@@ -1845,7 +1845,7 @@ DPA_GetPtrIndex (const HDPA hdpa, LPVOID p)
{ {
INT i; INT i;
if (!hdpa->ptrs) if (!hdpa || !hdpa->ptrs)
return -1; return -1;
for (i = 0; i < hdpa->nItemCount; i++) { for (i = 0; i < hdpa->nItemCount; i++) {
...@@ -2812,6 +2812,16 @@ BOOL WINAPI COMCTL32_415( HWND hwnd, DWORD b, DWORD c, DWORD d, DWORD e) ...@@ -2812,6 +2812,16 @@ BOOL WINAPI COMCTL32_415( HWND hwnd, DWORD b, DWORD c, DWORD d, DWORD e)
} }
/************************************************************************** /**************************************************************************
* @ [COMCTL32.417]
*
*/
BOOL WINAPI COMCTL32_417(HDC hdc, INT x, INT y, UINT flags, const RECT *lprect,
LPCWSTR str, UINT count, const INT *lpDx)
{
return ExtTextOutW(hdc, x, y, flags, lprect, str, count, lpDx);
}
/**************************************************************************
* @ [COMCTL32.419] * @ [COMCTL32.419]
* *
* FIXME: What's this supposed to do? * FIXME: What's this supposed to do?
......
...@@ -47,6 +47,7 @@ extern HINSTANCE shlwapi_hInstance; ...@@ -47,6 +47,7 @@ extern HINSTANCE shlwapi_hInstance;
extern HMODULE SHLWAPI_hshell32; extern HMODULE SHLWAPI_hshell32;
extern HMODULE SHLWAPI_hwinmm; extern HMODULE SHLWAPI_hwinmm;
extern HMODULE SHLWAPI_hcomdlg32; extern HMODULE SHLWAPI_hcomdlg32;
extern HMODULE SHLWAPI_hcomctl32;
extern HMODULE SHLWAPI_hmpr; extern HMODULE SHLWAPI_hmpr;
extern HMODULE SHLWAPI_hmlang; extern HMODULE SHLWAPI_hmlang;
extern HMODULE SHLWAPI_hversion; extern HMODULE SHLWAPI_hversion;
...@@ -136,6 +137,7 @@ static BOOL (WINAPI *pGetOpenFileNameW)(LPOPENFILENAMEW); ...@@ -136,6 +137,7 @@ static BOOL (WINAPI *pGetOpenFileNameW)(LPOPENFILENAMEW);
static DWORD (WINAPI *pGetFileVersionInfoSizeW)(LPCWSTR,LPDWORD); static DWORD (WINAPI *pGetFileVersionInfoSizeW)(LPCWSTR,LPDWORD);
static BOOL (WINAPI *pGetFileVersionInfoW)(LPCWSTR,DWORD,DWORD,LPVOID); static BOOL (WINAPI *pGetFileVersionInfoW)(LPCWSTR,DWORD,DWORD,LPVOID);
static WORD (WINAPI *pVerQueryValueW)(LPVOID,LPCWSTR,LPVOID*,UINT*); static WORD (WINAPI *pVerQueryValueW)(LPVOID,LPCWSTR,LPVOID*,UINT*);
static BOOL (WINAPI *pCOMCTL32_417)(HDC,INT,INT,UINT,const RECT*,LPCWSTR,UINT,const INT*);
/* /*
NOTES: Most functions exported by ordinal seem to be superflous. NOTES: Most functions exported by ordinal seem to be superflous.
...@@ -1824,6 +1826,18 @@ BOOL WINAPI SHLWAPI_295(LPWSTR str1, LPVOID x, LPWSTR str2, LPWSTR str3) ...@@ -1824,6 +1826,18 @@ BOOL WINAPI SHLWAPI_295(LPWSTR str1, LPVOID x, LPWSTR str2, LPWSTR str3)
} }
/************************************************************************* /*************************************************************************
* @ [SHLWAPI.299]
*
* Late bound call to comctl32.417
*/
BOOL WINAPI SHLWAPI_299(HDC hdc, INT x, INT y, UINT flags, const RECT *lprect,
LPCWSTR str, UINT count, const INT *lpDx)
{
GET_FUNC(pCOMCTL32_417, comctl32, (LPCSTR)417, FALSE);
return pCOMCTL32_417(hdc, x, y, flags, lprect, str, count, lpDx);
}
/*************************************************************************
* @ [SHLWAPI.313] * @ [SHLWAPI.313]
* *
* Late bound call to shell32.SHGetFileInfoW * Late bound call to shell32.SHGetFileInfoW
......
...@@ -298,7 +298,7 @@ init SHLWAPI_LibMain ...@@ -298,7 +298,7 @@ init SHLWAPI_LibMain
296 stub @ 296 stub @
297 stub @ 297 stub @
298 forward @ kernel32.WritePrivateProfileStringW 298 forward @ kernel32.WritePrivateProfileStringW
299 stub @ 299 stdcall @(long long long long ptr wstr long ptr) SHLWAPI_299
300 forward @ gdi32.CreateFontW 300 forward @ gdi32.CreateFontW
301 forward @ user32.DrawTextExW 301 forward @ user32.DrawTextExW
302 forward @ user32.GetMenuItemInfoW 302 forward @ user32.GetMenuItemInfoW
......
...@@ -32,6 +32,7 @@ HINSTANCE shlwapi_hInstance = 0; ...@@ -32,6 +32,7 @@ HINSTANCE shlwapi_hInstance = 0;
HMODULE SHLWAPI_hshell32 = 0; HMODULE SHLWAPI_hshell32 = 0;
HMODULE SHLWAPI_hwinmm = 0; HMODULE SHLWAPI_hwinmm = 0;
HMODULE SHLWAPI_hcomdlg32 = 0; HMODULE SHLWAPI_hcomdlg32 = 0;
HMODULE SHLWAPI_hcomctl32 = 0;
HMODULE SHLWAPI_hmpr = 0; HMODULE SHLWAPI_hmpr = 0;
HMODULE SHLWAPI_hmlang = 0; HMODULE SHLWAPI_hmlang = 0;
HMODULE SHLWAPI_hversion = 0; HMODULE SHLWAPI_hversion = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment