diff options
Diffstat (limited to 'app-office/libreoffice/files')
3 files changed, 231 insertions, 0 deletions
diff --git a/app-office/libreoffice/files/libreoffice-6.2.2.2-boost-1.69.patch b/app-office/libreoffice/files/libreoffice-6.2.2.2-boost-1.69.patch new file mode 100644 index 000000000000..0c4c38cf58c8 --- /dev/null +++ b/app-office/libreoffice/files/libreoffice-6.2.2.2-boost-1.69.patch @@ -0,0 +1,36 @@ +From 358637547c5bb7ae6ca637640c4279455414dbfa Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tchvatal@suse.com> +Date: Fri, 15 Mar 2019 16:16:31 +0100 +Subject: Fix build with boost 1.69 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This is also fixed with master with boost bump which we do not need +here. + +Change-Id: I61caec10c0c6d442cef3d51c31eaff01f18b89e3 +Reviewed-on: https://gerrit.libreoffice.org/69310 +Reviewed-by: Tomáš Chvátal <tchvatal@suse.cz> +Tested-by: Tomáš Chvátal <tchvatal@suse.cz> +Reviewed-by: Caolán McNamara <caolanm@redhat.com> +Tested-by: Caolán McNamara <caolanm@redhat.com> +--- + sfx2/source/appl/shutdownicon.cxx | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sfx2/source/appl/shutdownicon.cxx b/sfx2/source/appl/shutdownicon.cxx +index e917c3a..8a51e5c 100644 +--- a/sfx2/source/appl/shutdownicon.cxx ++++ b/sfx2/source/appl/shutdownicon.cxx +@@ -143,7 +143,7 @@ bool LoadModule() + #endif // ENABLE_QUICKSTART_APPLET + } + assert(!boost::logic::indeterminate(loaded)); +- return loaded; ++ return bool(loaded); + } + + } +-- +cgit v1.1 diff --git a/app-office/libreoffice/files/libreoffice-6.2.3.1-kf5-update-delayed-frame-destruct.patch b/app-office/libreoffice/files/libreoffice-6.2.3.1-kf5-update-delayed-frame-destruct.patch new file mode 100644 index 000000000000..17843e007e08 --- /dev/null +++ b/app-office/libreoffice/files/libreoffice-6.2.3.1-kf5-update-delayed-frame-destruct.patch @@ -0,0 +1,113 @@ +From d622be2d6bcfcc2c7260421e0eaa09c76ce15da2 Mon Sep 17 00:00:00 2001 +From: Aleksei Nikiforov <darktemplar@basealt.ru> +Date: Wed, 6 Mar 2019 16:10:17 +0300 +Subject: tdf#123406 KDE5: Update delayed frame destruction + +Move deleteLater() call to the different event loop. +This fixes issue with frames not being disposed of +deterministically, and previously opened window +not reactivating. + +Also hide modal dialog window before unsetting modal mode. +Unsetting modal mode may require to toggle window visibility. +Window will be hidden soon anyway, +and additional generated events might make finding correct +focused window harder. + +Change-Id: Id7839f817075785287b09f6ac79eb3fb211726aa +Reviewed-on: https://gerrit.libreoffice.org/68852 +Tested-by: Jenkins +Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> +Reviewed-on: https://gerrit.libreoffice.org/70078 +Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> +--- + vcl/inc/qt5/Qt5Instance.hxx | 2 ++ + vcl/qt5/Qt5Instance.cxx | 12 ++++++++++-- + vcl/source/window/dialog.cxx | 4 ++-- + 3 files changed, 14 insertions(+), 4 deletions(-) + +diff --git a/vcl/inc/qt5/Qt5Instance.hxx b/vcl/inc/qt5/Qt5Instance.hxx +index 91682bd..cece484 100644 +--- a/vcl/inc/qt5/Qt5Instance.hxx ++++ b/vcl/inc/qt5/Qt5Instance.hxx +@@ -50,10 +50,12 @@ public: + + private Q_SLOTS: + bool ImplYield(bool bWait, bool bHandleAllCurrentEvents); ++ static void deleteObjectLater(QObject* pObject); + + Q_SIGNALS: + bool ImplYieldSignal(bool bWait, bool bHandleAllCurrentEvents); + std::unique_ptr<SalMenu> createMenuSignal(bool, Menu*); ++ void deleteObjectLaterSignal(QObject* pObject); + + public: + explicit Qt5Instance(bool bUseCairo = false); +diff --git a/vcl/qt5/Qt5Instance.cxx b/vcl/qt5/Qt5Instance.cxx +index 8de9fc7..58f93fe 100644 +--- a/vcl/qt5/Qt5Instance.cxx ++++ b/vcl/qt5/Qt5Instance.cxx +@@ -67,6 +67,12 @@ Qt5Instance::Qt5Instance(bool bUseCairo) + Qt::BlockingQueuedConnection); + connect(this, &Qt5Instance::createMenuSignal, this, &Qt5Instance::CreateMenu, + Qt::BlockingQueuedConnection); ++ ++ // this one needs to be queued non-blocking ++ // in order to have this event arriving to correct event processing loop ++ connect(this, &Qt5Instance::deleteObjectLaterSignal, this, ++ [](QObject* pObject) { Qt5Instance::deleteObjectLater(pObject); }, ++ Qt::QueuedConnection); + } + + Qt5Instance::~Qt5Instance() +@@ -78,6 +84,8 @@ Qt5Instance::~Qt5Instance() + free(m_pFakeArgvFreeable[i]); + } + ++void Qt5Instance::deleteObjectLater(QObject* pObject) { pObject->deleteLater(); } ++ + SalFrame* Qt5Instance::CreateChildFrame(SystemParentData* /*pParent*/, SalFrameStyleFlags nStyle) + { + return new Qt5Frame(nullptr, nStyle, m_bUseCairo); +@@ -94,7 +102,7 @@ void Qt5Instance::DestroyFrame(SalFrame* pFrame) + if (pFrame) + { + assert(dynamic_cast<Qt5Frame*>(pFrame)); +- static_cast<Qt5Frame*>(pFrame)->deleteLater(); ++ Q_EMIT deleteObjectLaterSignal(static_cast<Qt5Frame*>(pFrame)); + } + } + +@@ -109,7 +117,7 @@ void Qt5Instance::DestroyObject(SalObject* pObject) + if (pObject) + { + assert(dynamic_cast<Qt5Object*>(pObject)); +- static_cast<Qt5Object*>(pObject)->deleteLater(); ++ Q_EMIT deleteObjectLaterSignal(static_cast<Qt5Object*>(pObject)); + } + } + +diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx +index 0c75f85..1688163 100644 +--- a/vcl/source/window/dialog.cxx ++++ b/vcl/source/window/dialog.cxx +@@ -1097,6 +1097,8 @@ void Dialog::EndDialog( long nResult ) + + const bool bModal = GetType() != WindowType::MODELESSDIALOG; + ++ Hide(); ++ + if (bModal) + { + SetModalInputMode(false); +@@ -1121,8 +1123,6 @@ void Dialog::EndDialog( long nResult ) + } + } + +- Hide(); +- + if (bModal && GetParent()) + { + NotifyEvent aNEvt( MouseNotifyEvent::ENDEXECUTEDIALOG, this ); +-- +cgit v1.1 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 <glogow@fbihome.de> +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 <glogow@fbihome.de> +(cherry picked from commit b4698a2241ec26d796c66da3a814f7cc693785b6) +Reviewed-on: https://gerrit.libreoffice.org/69984 +Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> +--- + 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 |