summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-06-03 10:18:38 +0200
committerJani Heikkinen <jani.heikkinen@theqtcompany.com>2015-06-04 04:49:45 +0000
commit769cc4d878c18ca3228fce846deccb5290901887 (patch)
tree533783d8ea65c97d9cadb2b160e08997a627fa9b
parentcf452e20f9f755898cbd05bfd387f29e39613c4a (diff)
Make logicalDpi consistent in relation to device pixel ratio
In GNOME/Unity XCB, logical DPI is scaled by device pixel ratio, and on Macs logical DPI is constant but pixel ratio is based on physical DPI, making logical DPI effectively physical DPI divided by pixel ratio. This patch ensure the same logic is used for other XCB desktops. Change-Id: I60f24618cd49f6b34a6ff1eff317883d191d3491 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
index c14ec0bb3f..63e4d9e75b 100644
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
@@ -361,11 +361,11 @@ QDpi QXcbScreen::logicalDpi() const
if (overrideDpi)
return QDpi(overrideDpi, overrideDpi);
- if (m_forcedDpi > 0) {
- int primaryDpr = int(connection()->screens().at(0)->devicePixelRatio());
+ int primaryDpr = int(connection()->screens().at(0)->devicePixelRatio());
+ if (m_forcedDpi > 0)
return QDpi(m_forcedDpi/primaryDpr, m_forcedDpi/primaryDpr);
- }
- return virtualDpi();
+ QDpi vDpi = virtualDpi();
+ return QDpi(vDpi.first/primaryDpr, vDpi.second/primaryDpr);
}