[PATCH 2/2] kernel32: Return font size, not screen buffer size, from GetCurrentConsoleFontEx

Hugh McMaster hugh.mcmaster at outlook.com
Mon Nov 15 05:18:24 CST 2021


GetCurrentConsoleFontEx currently returns the screen buffer size when
maxwindow is FALSE. It should return the current console font size.

Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
 dlls/kernel32/console.c       | 4 ++--
 dlls/kernel32/tests/console.c | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/dlls/kernel32/console.c b/dlls/kernel32/console.c
index 4810feb4987..80f3419cd7a 100644
--- a/dlls/kernel32/console.c
+++ b/dlls/kernel32/console.c
@@ -407,8 +407,8 @@ BOOL WINAPI GetCurrentConsoleFontEx(HANDLE hConsole, BOOL maxwindow, CONSOLE_FON
     }
     else
     {
-        fontinfo->dwFontSize.X = data.info.win_right - data.info.win_left + 1;
-        fontinfo->dwFontSize.Y = data.info.win_bottom - data.info.win_top + 1;
+        fontinfo->dwFontSize.X = data.info.font_width;
+        fontinfo->dwFontSize.Y = data.info.font_height;
     }
     size -= sizeof(data.info);
     if (size) memcpy( fontinfo->FaceName, data.face_name, size );
diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c
index 7c74ddf195a..8b5abfa2da9 100644
--- a/dlls/kernel32/tests/console.c
+++ b/dlls/kernel32/tests/console.c
@@ -3527,14 +3527,14 @@ static void test_GetCurrentConsoleFontEx(HANDLE std_output)
     ok(c.X && c.Y, "GetConsoleFontSize failed; err = %u\n", GetLastError());
     ok(GetLastError() == 0xdeadbeef, "got %u, expected 0xdeadbeef\n", GetLastError());
 
-    todo_wine ok(cfix.dwFontSize.X == c.X, "Font width doesn't match; got %u, expected %u\n",
+    ok(cfix.dwFontSize.X == c.X, "Font width doesn't match; got %u, expected %u\n",
        cfix.dwFontSize.X, c.X);
-    todo_wine ok(cfix.dwFontSize.Y == c.Y, "Font height doesn't match; got %u, expected %u\n",
+    ok(cfix.dwFontSize.Y == c.Y, "Font height doesn't match; got %u, expected %u\n",
        cfix.dwFontSize.Y, c.Y);
 
-    todo_wine ok(cfi.dwFontSize.X == c.X, "Font width doesn't match; got %u, expected %u\n",
+    ok(cfi.dwFontSize.X == c.X, "Font width doesn't match; got %u, expected %u\n",
        cfi.dwFontSize.X, c.X);
-    todo_wine ok(cfi.dwFontSize.Y == c.Y, "Font height doesn't match; got %u, expected %u\n",
+    ok(cfi.dwFontSize.Y == c.Y, "Font height doesn't match; got %u, expected %u\n",
        cfi.dwFontSize.Y, c.Y);
 
     SetLastError(0xdeadbeef);
-- 
2.33.1




More information about the wine-devel mailing list