From: Hugh McMaster <hugh.mcmaster(a)outlook.com> --- dlls/kernel32/tests/console.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c index 84d0e8ae84e..c698618db0d 100644 --- a/dlls/kernel32/tests/console.c +++ b/dlls/kernel32/tests/console.c @@ -34,6 +34,7 @@ static BOOL (WINAPI *pGetConsoleInputExeNameA)(DWORD, LPSTR); static DWORD (WINAPI *pGetConsoleOriginalTitleA)(LPSTR, DWORD); static DWORD (WINAPI *pGetConsoleOriginalTitleW)(LPWSTR, DWORD); static DWORD (WINAPI *pGetConsoleProcessList)(LPDWORD, DWORD); +static BOOL (WINAPI *pGetCurrentConsoleFontEx)(HANDLE, BOOL, CONSOLE_FONT_INFOEX *); static HANDLE (WINAPI *pOpenConsoleW)(LPCWSTR,DWORD,BOOL,DWORD); static BOOL (WINAPI *pSetConsoleInputExeNameA)(LPCSTR); static BOOL (WINAPI *pVerifyConsoleIoHandle)(HANDLE handle); @@ -82,6 +83,7 @@ static void init_function_pointers(void) KERNEL32_GET_PROC(GetConsoleOriginalTitleA); KERNEL32_GET_PROC(GetConsoleOriginalTitleW); KERNEL32_GET_PROC(GetConsoleProcessList); + KERNEL32_GET_PROC(GetCurrentConsoleFontEx); KERNEL32_GET_PROC(OpenConsoleW); KERNEL32_GET_PROC(SetConsoleInputExeNameA); KERNEL32_GET_PROC(VerifyConsoleIoHandle); @@ -1008,17 +1010,23 @@ static void test_new_screen_buffer_properties(HANDLE hConOut) CONSOLE_FONT_INFOEX cfi, cfi2; CONSOLE_SCREEN_BUFFER_INFO csbi, csbi2; + if (!pGetCurrentConsoleFontEx) + { + win_skip("GetCurrentConsoleFontEx not available.\n"); + return; + } + /* Font information */ cfi.cbSize = cfi2.cbSize = sizeof(CONSOLE_FONT_INFOEX); - ret = GetCurrentConsoleFontEx(hConOut, FALSE, &cfi); + ret = pGetCurrentConsoleFontEx(hConOut, FALSE, &cfi); ok(ret, "GetCurrentConsoleFontEx failed: error %lu\n", GetLastError()); hConOut2 = CreateConsoleScreenBuffer(GENERIC_READ|GENERIC_WRITE, 0, NULL, CONSOLE_TEXTMODE_BUFFER, NULL); ok(hConOut2 != INVALID_HANDLE_VALUE, "CreateConsoleScreenBuffer failed: error %lu\n", GetLastError()); - ret = GetCurrentConsoleFontEx(hConOut2, FALSE, &cfi2); + ret = pGetCurrentConsoleFontEx(hConOut2, FALSE, &cfi2); ok(ret, "GetCurrentConsoleFontEx failed: error %lu\n", GetLastError()); CloseHandle(hConOut2); @@ -3433,8 +3441,6 @@ static void test_GetCurrentConsoleFont(HANDLE std_output) static void test_GetCurrentConsoleFontEx(HANDLE std_output) { - HANDLE hmod; - BOOL (WINAPI *pGetCurrentConsoleFontEx)(HANDLE, BOOL, CONSOLE_FONT_INFOEX *); CONSOLE_FONT_INFO cfi; CONSOLE_FONT_INFOEX cfix; BOOL ret; @@ -3442,11 +3448,9 @@ static void test_GetCurrentConsoleFontEx(HANDLE std_output) HANDLE pipe1, pipe2; COORD c; - hmod = GetModuleHandleA("kernel32.dll"); - pGetCurrentConsoleFontEx = (void *)GetProcAddress(hmod, "GetCurrentConsoleFontEx"); if (!pGetCurrentConsoleFontEx) { - win_skip("GetCurrentConsoleFontEx is not available\n"); + win_skip("GetCurrentConsoleFontEx not available.\n"); return; } @@ -3562,9 +3566,15 @@ static void test_SetCurrentConsoleFontEx(HANDLE std_output) HANDLE pipe1, pipe2; HANDLE std_input = GetStdHandle(STD_INPUT_HANDLE); + if (!pGetCurrentConsoleFontEx) + { + win_skip("GetCurrentConsoleFontEx not available.\n"); + return; + } + orig_cfix.cbSize = sizeof(CONSOLE_FONT_INFOEX); - ret = GetCurrentConsoleFontEx(std_output, FALSE, &orig_cfix); + ret = pGetCurrentConsoleFontEx(std_output, FALSE, &orig_cfix); ok(ret, "got %d, expected non-zero\n", ret); cfix = orig_cfix; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1896