From f453d2b0c7f27211d9c9061aa5c522cda37e37c6 Mon Sep 17 00:00:00 2001 From: Julien Nabet Date: Sat, 28 Sep 2019 10:19:25 +0200 Subject: "KWINDOWSYSTEM_DEPRECATED static void setMainWindow" (take 2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit /home/julien/lo/libreoffice/vcl/unx/gtk3_kde5/kde5_filepicker.cxx: In member function ‘virtual bool KDE5FilePicker::eventFilter(QObject*, QEvent*)’: /home/julien/lo/libreoffice/vcl/unx/gtk3_kde5/kde5_filepicker.cxx:271:51: error: ‘static void KWindowSystem::setMainWindow(QWidget*, WId)’ is deprecated [-Werror=deprecated-declarations] 271 | KWindowSystem::setMainWindow(w, _winId); | ^ In file included from /usr/include/KF5/KWindowSystem/KWindowSystem:1, from /home/julien/lo/libreoffice/vcl/unx/gtk3_kde5/kde5_filepicker.cxx:24: /usr/include/KF5/KWindowSystem/kwindowsystem.h:255:42: note: declared here 255 | KWINDOWSYSTEM_DEPRECATED static void setMainWindow(QWidget *subwindow, WId mainwindow); | ^~~~~~~~~~~~~ There's a new method we could use but it's only possible when baseline will include kwindowsystem >= 5.62 Change-Id: Idd3dca98e15585077c20848613fce72c5daae0e2 Reviewed-on: https://gerrit.libreoffice.org/79781 Tested-by: Jenkins Reviewed-by: Julien Nabet --- vcl/unx/gtk3_kde5/kde5_filepicker.cxx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/vcl/unx/gtk3_kde5/kde5_filepicker.cxx b/vcl/unx/gtk3_kde5/kde5_filepicker.cxx index a3c2ecf63483..4fba409eb615 100644 --- a/vcl/unx/gtk3_kde5/kde5_filepicker.cxx +++ b/vcl/unx/gtk3_kde5/kde5_filepicker.cxx @@ -268,7 +268,14 @@ bool KDE5FilePicker::eventFilter(QObject* o, QEvent* e) auto* w = static_cast(o); if (!w->parentWidget() && w->isModal()) { + /* + To replace when baseline will include kwindowsystem >= 5.62 with: + w->setAttribute(Qt::WA_NativeWindow, true); + KWindowSystem::setMainWindow(w->windowHandle(), _winId); + */ + SAL_WNODEPRECATED_DECLARATIONS_PUSH KWindowSystem::setMainWindow(w, _winId); + SAL_WNODEPRECATED_DECLARATIONS_POP if (auto* fileWidget = w->findChild({}, Qt::FindDirectChildrenOnly)) { fileWidget->setCustomWidget(_extraControls); -- cgit