#1066936 Qt5 Wayland applications with touch support crash

Package:
libqt5waylandclient5
Source:
libqt5waylandclient5
Description:
QtWayland client library
Submitter:
Mogyorósi Petra
Date:
2024-03-15 18:30:04 UTC
Severity:
normal
#1066936#5
Date:
2024-03-15 18:26:59 UTC
From:
To:
Native Wayland Qt5 applications with touchscreen support have a nasty tendency to segfault while receiving touch input, especially when one is trying to write using a stylus as the palm also makes contact with the touchscreen. This issue has only been recently fixed in Qt 6.7 and as far as I know there is no upstream fix at the moment for Qt 5.15. An if statement (highlighted with pointer arrow) is added to function QWaylandInputDevice::Touch::touch_frame() in qwaylandinputdevice.cpp in Qt 6.7 to fix the bug:

 if (mFocus) {
        // Returns a reference to the last item in the list. The list must not be empty.
        // If the list can be empty, call isEmpty() before calling this function.
        // See: https://doc.qt.io/qt-5.15/qlist.html#last
      ->  if (mPendingTouchPoints.empty())
            return;
        const QWindowSystemInterface::TouchPoint &tp = mPendingTouchPoints.constLast();

I encountered the issue using MrWriter, compiled from source, on Ubuntu 22.04 (linked against Qt 5.15.3). Said issue was severe enough in my experience to interfere with day-to-day activities. As Ubuntu is downstream to Debian, I thought it would be better if I report the bug here.