Hugh McMaster : kernel32: Return font size, not screen buffer size, from GetCurrentConsoleFontEx.

Alexandre Julliard julliard at winehq.org
Mon Nov 15 16:01:28 CST 2021


Module: wine
Branch: master
Commit: 4e351b47bff4b6acc8a52b7a05b0b5de68716954
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=4e351b47bff4b6acc8a52b7a05b0b5de68716954

Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date:   Mon Nov 15 22:18:24 2021 +1100

kernel32: Return font size, not screen buffer size, from GetCurrentConsoleFontEx.

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>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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);




More information about the wine-cvs mailing list