From: Hugh McMaster hugh.mcmaster@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;