From 62a2277f43699fb0a37f9d15b361f1df38d542b4 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Tue, 19 Apr 2022 03:03:36 +0400 Subject: [PATCH] Passthrough QT_FONT_DPI in crash report window just like in the main scaling engine --- Telegram/SourceFiles/core/crash_report_window.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/core/crash_report_window.cpp b/Telegram/SourceFiles/core/crash_report_window.cpp index be3e9973aa..91d35a0ac1 100644 --- a/Telegram/SourceFiles/core/crash_report_window.cpp +++ b/Telegram/SourceFiles/core/crash_report_window.cpp @@ -22,6 +22,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include #include #include +#include namespace { @@ -43,7 +44,18 @@ PreLaunchWindow::PreLaunchWindow(QString title) { p.setColor(QPalette::Window, QColor(255, 255, 255)); setPalette(p); - _size = QFontMetrics(QGuiApplication::font()).height(); + constexpr auto processDpi = [](const QDpi &dpi) { + return (dpi.first + dpi.second) * 0.5; + }; + + const auto screen = QGuiApplication::primaryScreen(); + const auto scale = processDpi(screen->handle()->logicalDpi()) + / processDpi(screen->handle()->logicalBaseDpi()); + + auto font = QGuiApplication::font(); + font.setPixelSize(base::SafeRound(font.pointSize() * scale)); + + _size = QFontMetrics(font).height(); int paddingVertical = (_size / 2); int paddingHorizontal = _size;