From 9c947957b8aa5f3279463d2d8a0846ffc98887e2 Mon Sep 17 00:00:00 2001 From: PastaClaw Date: Fri, 8 May 2026 00:52:38 -0500 Subject: [PATCH] qt: handle pixel-sized fonts when scaling widgets --- src/qt/guiutil_font.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/qt/guiutil_font.cpp b/src/qt/guiutil_font.cpp index d7cd9c7895be..03a626da7732 100644 --- a/src/qt/guiutil_font.cpp +++ b/src/qt/guiutil_font.cpp @@ -579,14 +579,21 @@ void updateFonts() ++nUpdatable; QFont font = w->font(); - assert(font.pointSize() > 0); + double font_size = font.pointSizeF(); + if (font_size <= 0 && font.pixelSize() > 0) { + font_size = font.pixelSize() * 72.0 / w->logicalDpiY(); + font.setPointSizeF(font_size); + } + if (font_size <= 0) { + continue; + } font.setFamily(qApp->font().family()); font.setWeight(g_font_registry.GetWeightNormal()); font.setStyleName(qApp->font().styleName()); font.setStyle(qApp->font().style()); // Insert/Get the default font size of the widget - auto itDefault = mapWidgetDefaultFontSizes.emplace(w, font.pointSize()); + auto itDefault = mapWidgetDefaultFontSizes.emplace(w, font_size); auto it = mapFontUpdates.find(w); if (it != mapFontUpdates.end()) {