diff options
Diffstat (limited to 'src/plugins/platforms/xcb')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbscreen.cpp | 7 |
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 |