Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.2:Staging:F
libqt5-qtbase
0002-xcb-Use-the-screen-s-physical-DPI-as-logic...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0002-xcb-Use-the-screen-s-physical-DPI-as-logical-DPI-unl.patch of Package libqt5-qtbase
From 267ab09b87dd7e2ae7dd3e85a76398506e7f1ae9 Mon Sep 17 00:00:00 2001 From: Fabian Vogt <fabian@ritter-vogt.de> Date: Wed, 25 Apr 2018 18:34:01 +0200 Subject: [PATCH 2/2] xcb: Use the screen's physical DPI as logical DPI, unless overwritten The size of the virtual screen is most of the time meaningless, as X fakes it to result in 96 DPI, irregardless of the actual monitor DPI. This results in wrong font rendering on non-96 DPI monitors. Task-number: QTBUG-67928 --- src/plugins/platforms/xcb/qxcbscreen.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp index ab902e3a..5f088258 100644 --- a/src/plugins/platforms/xcb/qxcbscreen.cpp +++ b/src/plugins/platforms/xcb/qxcbscreen.cpp @@ -676,7 +676,14 @@ QDpi QXcbScreen::logicalDpi() const if (forcedDpi > 0) return QDpi(forcedDpi, forcedDpi); - return m_virtualDesktop->dpi(); + // By default, X fakes the virtual size to be 96 dpi (+-rounding), + // so if it's different the user overwrote it. + if (qRound(m_virtualDesktop->dpi().first) != 96 || + qRound(m_virtualDesktop->dpi().second) != 96) { + return m_virtualDesktop->dpi(); + } + + return QDpi(m_pixelDensity * 96, m_pixelDensity * 96); } qreal QXcbScreen::pixelDensity() const
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor