From ec1763d3a9b602c9ae37612648d5e18e0a12bd1c Mon Sep 17 00:00:00 2001 From: ali kettab Date: Wed, 11 Oct 2023 11:14:06 +0100 Subject: [PATCH] Don't return invalid pixel size from GetPixelSize() under wxQt --- src/qt/font.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/qt/font.cpp b/src/qt/font.cpp index 4ffa9d0844..1395a23104 100644 --- a/src/qt/font.cpp +++ b/src/qt/font.cpp @@ -394,7 +394,19 @@ double wxNativeFontInfo::GetFractionalPointSize() const wxSize wxNativeFontInfo::GetPixelSize() const { - return wxSize(0, m_qtFont.pixelSize()); + // Note that QFont::pixelSize() returns -1 if the size was set with setPointSize(). + // If so, fall back to QFontInfo::pixelSize() which returns the pixel size of the + // matched window system font. + + int pixelSize = m_qtFont.pixelSize(); + + if ( pixelSize < 0 ) + { + QFontInfo fontInfo(m_qtFont); + pixelSize = fontInfo.pixelSize(); + } + + return wxSize(0, pixelSize); } wxFontStyle wxNativeFontInfo::GetStyle() const