From dc7cbdfa65fd814b3b9aa3c56257da201109e807 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 5 Apr 2019 21:17:31 +0100 Subject: gentoo resync : 05.04.2019 --- ...-6.2.3.1-qt5-kf5-disable-qt-hidpi-scaling.patch | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 app-office/libreoffice/files/libreoffice-6.2.3.1-qt5-kf5-disable-qt-hidpi-scaling.patch (limited to 'app-office/libreoffice/files/libreoffice-6.2.3.1-qt5-kf5-disable-qt-hidpi-scaling.patch') diff --git a/app-office/libreoffice/files/libreoffice-6.2.3.1-qt5-kf5-disable-qt-hidpi-scaling.patch b/app-office/libreoffice/files/libreoffice-6.2.3.1-qt5-kf5-disable-qt-hidpi-scaling.patch new file mode 100644 index 000000000000..12f3ddc29587 --- /dev/null +++ b/app-office/libreoffice/files/libreoffice-6.2.3.1-qt5-kf5-disable-qt-hidpi-scaling.patch @@ -0,0 +1,82 @@ +From c3eeb421526f284419e90d2c4c4da5b0d7bbcc0e Mon Sep 17 00:00:00 2001 +From: Jan-Marek Glogowski +Date: Fri, 29 Mar 2019 02:58:59 +0100 +Subject: tdf#124292 Qt5 / KDE5 disable Qt's HiDPI scaling + +LO does its own layouting and also all the scaling, so disable +the automatic HiDPI scaling explicitly. Otherwise fonts will be +rendered in LoDPI and just scaled as an image, if UI scaling is +enabled in KDE, resulting in really blocky / ugly fonts. + +Change-Id: I38503ce27c1671e80d0749d21c6c6dcff1a808a6 +Reviewed-on: https://gerrit.libreoffice.org/69941 +Tested-by: Jenkins +Reviewed-by: Jan-Marek Glogowski +(cherry picked from commit b4698a2241ec26d796c66da3a814f7cc693785b6) +Reviewed-on: https://gerrit.libreoffice.org/69984 +Reviewed-by: Thorsten Behrens +--- + vcl/qt5/Qt5Graphics_GDI.cxx | 4 ++-- + vcl/qt5/Qt5Instance.cxx | 2 ++ + vcl/unx/kde5/KDE5SalGraphics.cxx | 4 ++-- + vcl/unx/kde5/KDE5SalInstance.cxx | 2 ++ + 4 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/vcl/qt5/Qt5Graphics_GDI.cxx b/vcl/qt5/Qt5Graphics_GDI.cxx +index 90baba3..851d222 100644 +--- a/vcl/qt5/Qt5Graphics_GDI.cxx ++++ b/vcl/qt5/Qt5Graphics_GDI.cxx +@@ -643,8 +643,8 @@ void Qt5Graphics::GetResolution(sal_Int32& rDPIX, sal_Int32& rDPIY) + return; + + QScreen* pScreen = m_pFrame->GetQWidget()->window()->windowHandle()->screen(); +- rDPIX = pScreen->logicalDotsPerInchX(); +- rDPIY = pScreen->logicalDotsPerInchY(); ++ rDPIX = pScreen->logicalDotsPerInchX() * pScreen->devicePixelRatio() + 0.5; ++ rDPIY = pScreen->logicalDotsPerInchY() * pScreen->devicePixelRatio() + 0.5; + } + + sal_uInt16 Qt5Graphics::GetBitCount() const { return getFormatBits(m_pQImage->format()); } +diff --git a/vcl/qt5/Qt5Instance.cxx b/vcl/qt5/Qt5Instance.cxx +index adbe70b..8de9fc7 100644 +--- a/vcl/qt5/Qt5Instance.cxx ++++ b/vcl/qt5/Qt5Instance.cxx +@@ -336,6 +336,8 @@ VCLPLUG_QT5_PUBLIC SalInstance* create_SalInstance() + unsetenv("SESSION_MANAGER"); + } + ++ QApplication::setAttribute(Qt::AA_DisableHighDpiScaling); ++ + int* pFakeArgc = new int; + *pFakeArgc = nFakeArgc; + pQApplication = new QApplication(*pFakeArgc, pFakeArgv); +diff --git a/vcl/unx/kde5/KDE5SalGraphics.cxx b/vcl/unx/kde5/KDE5SalGraphics.cxx +index 290127d..0b4b428 100644 +--- a/vcl/unx/kde5/KDE5SalGraphics.cxx ++++ b/vcl/unx/kde5/KDE5SalGraphics.cxx +@@ -78,8 +78,8 @@ void KDE5SalGraphics::GetResolution(sal_Int32& rDPIX, sal_Int32& rDPIY) + return; + + QScreen* pScreen = m_pFrame->GetQWidget()->window()->windowHandle()->screen(); +- rDPIX = pScreen->logicalDotsPerInchX(); +- rDPIY = pScreen->logicalDotsPerInchY(); ++ rDPIX = pScreen->logicalDotsPerInchX() * pScreen->devicePixelRatio() + 0.5; ++ rDPIY = pScreen->logicalDotsPerInchY() * pScreen->devicePixelRatio() + 0.5; + } + + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +diff --git a/vcl/unx/kde5/KDE5SalInstance.cxx b/vcl/unx/kde5/KDE5SalInstance.cxx +index 401afbc..32998cd 100644 +--- a/vcl/unx/kde5/KDE5SalInstance.cxx ++++ b/vcl/unx/kde5/KDE5SalInstance.cxx +@@ -144,6 +144,8 @@ VCLPLUG_KDE5_PUBLIC SalInstance* create_SalInstance() + unsetenv("SESSION_MANAGER"); + } + ++ QApplication::setAttribute(Qt::AA_DisableHighDpiScaling); ++ + int* pFakeArgc = new int; + *pFakeArgc = nFakeArgc; + pQApplication = new QApplication(*pFakeArgc, pFakeArgv); +-- +cgit v1.1 -- cgit v1.2.3