summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/xcb')
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
index 4d3f269cf4..6ce8a91f36 100644
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
@@ -698,7 +698,12 @@ QDpi QXcbScreen::logicalDpi() const
if (forcedDpi > 0)
return QDpi(forcedDpi, forcedDpi);
- return m_virtualDesktop->dpi();
+ // Fall back to physical virtual desktop DPI, but prevent
+ // using DPI values lower than 96. This ensuers that connecting
+ // to e.g. a TV works somewhat predictabilly.
+ QDpi virtualDesktopPhysicalDPi = m_virtualDesktop->dpi();
+ return QDpi(std::max(virtualDesktopPhysicalDPi.first, 96.0),
+ std::max(virtualDesktopPhysicalDPi.second, 96.0));
}
QPlatformCursor *QXcbScreen::cursor() const