Bug 468591

Summary: Window does not repaint under wayland
Product: [Applications] parley Reporter: Gerion <gik-kbugs>
Component: generalAssignee: parley bug tracker <parley-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: cordlandwehr, temporary-address, thebluequasar
Priority: NOR    
Version First Reported In: 22.12.3   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Gerion 2023-04-17 01:18:57 UTC
SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***

When starting Parley under Wayland the window does not update when typing or clicking anything. I have to resize the window or trigger some other action so that a repaint happens.

STEPS TO REPRODUCE
1. Open Parley.
2. Interact in any way the program.

OBSERVED RESULT
Nothing happens visually.

EXPECTED RESULT
The GUI is updated.

SOFTWARE/OS VERSIONS
Windows: -
macOS: -
Linux/KDE Plasma: Gentoo Linux with Plasma 5.27.4
(available in About System)
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8

ADDITIONAL INFORMATION
The problem can be workarounded by starting Parley under X11 or forcing XWayland with `QT_QPA_PLATFORM=xcb parley`.

Maybe related to https://bugs.kde.org/show_bug.cgi?id=424024 and https://bugs.kde.org/show_bug.cgi?id=468590
Comment 1 Andreas Cord-Landwehr 2024-02-18 08:56:29 UTC
A temporary solution until we find a fix, you can run parley with "-platform xcb" to workaround this problem. The actual problems seems to be quite deep in the render stack and might need some time to fix/cannot be fixed in Parley alone.
Comment 2 Andreas Cord-Landwehr 2024-02-18 08:57:05 UTC
*** Bug 469716 has been marked as a duplicate of this bug. ***
Comment 3 Andreas Cord-Landwehr 2024-02-18 17:20:36 UTC
Git commit 5e2f70bf149515a7e7d087a8b1449bf24d822c5e by Andreas Cord-Landwehr.
Committed on 18/02/2024 at 14:50.
Pushed by cordlandwehr into branch 'release/24.02'.

Fix window updates on wayland

This refactors all (wrongly) used KXmlGuiWindow objects to be just
QWidgets. This avoids wrong calls to winid() which leads to severe
window render update misses.

M  +23   -17   src/parleymainwindow.cpp
M  +2    -3    src/parleymainwindow.h

https://invent.kde.org/education/parley/-/commit/5e2f70bf149515a7e7d087a8b1449bf24d822c5e
Comment 4 Andreas Cord-Landwehr 2024-02-18 17:31:58 UTC
*** Bug 459934 has been marked as a duplicate of this bug. ***
Comment 5 Andreas Cord-Landwehr 2024-02-18 17:32:16 UTC
Git commit 2c730388a14fe6dbd303f2e345efeeea28bb1b6b by Andreas Cord-Landwehr.
Committed on 18/02/2024 at 14:38.
Pushed by cordlandwehr into branch 'master'.

Fix window updates on wayland

This refactors all (wrongly) used KXmlGuiWindow objects to be just
QWidgets. This avoids wrong calls to winid() which leads to severe
window render update misses.

M  +23   -17   src/parleymainwindow.cpp
M  +2    -3    src/parleymainwindow.h

https://invent.kde.org/education/parley/-/commit/2c730388a14fe6dbd303f2e345efeeea28bb1b6b