Summary: | KDE/Qt UI - Program freezes after "save as" | ||
---|---|---|---|
Product: | LibreOffice | Reporter: | Doug B <contact> |
Component: | UI | Assignee: | Michael Weghorn <m.weghorn> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | backslashvortex, guido.iodice, michael, m.weghorn, oleksandr, robert |
Priority: | medium | ||
Version: | 24.2.2.2 release | ||
Hardware: | All | ||
OS: | All | ||
See Also: | https://bugs.documentfoundation.org/show_bug.cgi?id=145735 | ||
Whiteboard: | target:24.8.0 target:24.2.4 | ||
Crash report or crash signature: | Regression By: | ||
Bug Depends on: | |||
Bug Blocks: | 145734 | ||
Attachments: | screenrecording of how to reproduce the bug |
This seems to be present on these VCL plugins: qt5, qt6, kf5, kf6. The Gtk related dialogs seemed to work ok. Can confirm this on my two Arch KDE machines as well. Maybe related to this: https://bugs.kde.org/show_bug.cgi?id=483439 / https://bugs.kde.org/show_bug.cgi?id=471941 ? Possibly related: https://bugs.documentfoundation.org/show_bug.cgi?id=160624 For me I've verified SAL_USE_VCLPLUGIN=gtk3 works around this. Also possibly related: https://bugs.documentfoundation.org/show_bug.cgi?id=160416 Possible fix: https://codereview.qt-project.org/c/qt/qtbase/+/556573 Which version of LO do you use? Couldn't confirm this behavior with Version: 24.2.2.2 (X86_64) / LibreOffice Community Build ID: d56cc158d8a96260b836f100ef4b4ef25d6f1a01 CPU threads: 6; OS: Linux 6.4; UI render: default; VCL: kf5 (cairo+xcb) Locale: de-DE (de_DE.UTF-8); UI: de-DE Calc: threaded on OpenSUSE 15.6 but: There is no KDE 6 available for my system yet. In Arch I was able to reproduce this with 24.2.2.2. This must be KDE6-specific. > This seems to be present on these VCL plugins: qt5, qt6, kf5, kf6. Are you sure? I can not reproduce this with qt5, only with qt6/kf6. Note that for example if you do SAL_USE_VCLPLUGIN=kf5 libreoffice in Arch it will use the kf6 one since kf5 isn't packaged. For me this only happens on Plasma+X11 not on Plasma+Wayland. Can you also confirm? The patch at https://codereview.qt-project.org/c/qt/qtbase/+/556573 does not fix it, Arch has that backported and doesn't help. (In reply to Albert Astals Cid from comment #8) > Are you sure? I can not reproduce this with qt5, only with qt6/kf6. Note > that for example if you do SAL_USE_VCLPLUGIN=kf5 libreoffice in Arch it will > use the kf6 one since kf5 isn't packaged. > > For me this only happens on Plasma+X11 not on Plasma+Wayland. Can you also > confirm? > > The patch at https://codereview.qt-project.org/c/qt/qtbase/+/556573 does not > fix it, Arch has that backported and doesn't help. I can confirm all of the above: no issue with kf5, only with QT_QPA_PLATFORM=xcb with qt6/kf6, not with QT_QPA_PLATFORM=wayland The issue is triggered by a call to `QWidget::winId`, doesn't happen any more with this local test change in place (needs further investigation): diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx index d4a43fc7a544..ac2044b85302 100644 --- a/vcl/qt5/QtFrame.cxx +++ b/vcl/qt5/QtFrame.cxx @@ -1340,7 +1340,10 @@ void QtFrame::ResolveWindowHandle(SystemEnvData& rData) const return; assert(rData.platform != SystemEnvData::Platform::Invalid); if (rData.platform != SystemEnvData::Platform::Wayland) - rData.SetWindowHandle(static_cast<QWidget*>(rData.pWidget)->winId()); + { + // TODO: identify callers of this method and avoid calling this to unbreak things + //rData.SetWindowHandle(static_cast<QWidget*>(rData.pWidget)->winId()); + } } *** Bug 160416 has been marked as a duplicate of this bug. *** *** Bug 160624 has been marked as a duplicate of this bug. *** Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/2f4103da5625a9b90eb41d5c767a248a8d0b4255 tdf#160565 tdf#145735 qt: Avoid native window handles for Qt 6 It will be available in 24.8.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. Fixed in master now. Backport for 24-2 pending in Gerrit: https://gerrit.libreoffice.org/c/core/+/167813 Michael Weghorn committed a patch related to this issue. It has been pushed to "libreoffice-24-2": https://git.libreoffice.org/core/commit/9497be2e668c19aedc588588bf9dfed9338afe54 tdf#160565 tdf#145735 qt: Avoid native window handles for Qt 6 It will be available in 24.2.4. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. *** Bug 160864 has been marked as a duplicate of this bug. *** |
Created attachment 193543 [details] screenrecording of how to reproduce the bug I have encountered a bug that should be related to the Qt/KDE UI for Libreoffice. This does not happen for the Gtk or native Libreoffice dialogs. I am on Arch Linux and am using the libreoffice-fresh package from Arch's repos. I am on the latest version of KDE Plasma on Arch (full details at the bottom of this psot) How to reproduce: - Create a new file in Writer (or any other Libreoffice program) - Save it - It will save successfully but the program will hang. See my screen recording attached. No error pops up in the terminal, but this shows when the save dialog opens: "kf.kio.filewidgets.kfilefiltercombo: Could not find file filter" System Details Operating System: Arch Linux KDE Plasma Version: 6.0.3 KDE Frameworks Version: 6.0.0 Qt Version: 6.6.3 Kernel Version: 6.6.24-1-lts (64-bit) Graphics Platform: X11 Processors: 12 × 12th Gen Intel® Core™ i7-1255U Memory: 62.5 GiB of RAM Graphics Processor: Mesa Intel® Graphics