https://bugs.kde.org/show_bug.cgi?id=452967

            Bug ID: 452967
           Summary: kwin_wayland: touch input does not reach GTK or
                    Chromium popup menus (subsurfaces)
           Product: kwin
           Version: 5.24.4
          Platform: Manjaro
               URL: https://gitlab.gnome.org/GNOME/gtk/-/issues/3737
                OS: Linux
            Status: REPORTED
          Severity: major
          Priority: NOR
         Component: input
          Assignee: kwin-bugs-n...@kde.org
          Reporter: kevin.kof...@chello.at
  Target Milestone: ---

SUMMARY
On Plasma Mobile (which uses kwin_wayland), popup menus in any GTK application
do not respond to touch input. Touching any menu entry or any other control in
the GTK popover just closes the popup without taking any action.

The same effect can be seen for Chromium popups, including ones from
QtWebEngine (though Angelfish ≥ 21.12 has a workaround using QML popups
instead, so you will not be able to reproduce the issue with recent versions of
Angelfish).

This happens only for touch input using Wayland. Plugging in a USB mouse into
the PinePhone and clicking with it works. Forcing the application to use X11
(using GDK_BACKEND=x11 for GTK apps or QT_QPA_PLATFORM=xcb for QtWebEngine
apps) also works (sorta, because that causes several other issues such as no
virtual keyboard coming up).

This issue makes most GTK applications unusable on Plasma Mobile (e.g.,
Password Safe cannot be used because you cannot add a new password entry
without going through a popup), and reduces the functionality of most of the
remaining ones (e.g., in Geary, you cannot autocomplete addresses, switch
between plain text and rich text (HTML) composing, etc.), so IMHO it should be
treated as a showstopper.

According to GTK developer Carlos Garnacho, the issue is that the GTK
popover/popup menu is a subsurface, and kwin_wayland is incorrectly sending the
touch event to the main surface instead.

STEPS TO REPRODUCE
As stated above, make sure you are using:
1. Wayland, both in KWin AND in the application (the bug canNOT be reproduced
with X11), AND
2. touch (finger) input (the bug canNOT be reproduced with a mouse).
A good device to try it on is a PinePhone running the default Manjaro ARM
Plasma Mobile edition.

Once that is set, there are several ways to reproduce the bug, e.g.:
* In Geary, I "click" (touch) Inbox, then the "new message" button, then the
"⋮" menu button. The popup menu that results does not work.
* Also in Geary, the autocompletion popup in the "To" field (when I start
typing a known address) does not work.
* Password Safe is not usable because the "Add" popup does not work. (I do not
remember the exact way to get to it because I uninstalled the application due
to being unable to use it because of this bug.)
* To see that this also happens with Chromium/QtWebEngine popups, fire up
Angelfish < 21.12, or presumably another QtWebEngine browser that does not have
Angelfish's workaround, and try opening https://www.falter.at/lokalfuehrer and
using the search filters there (the popups like "ALLE BUNDESLÄNDER").

OBSERVED RESULT
The popup closes without any action being taken.

EXPECTED RESULT
The click on the popup is processed.

SOFTWARE/OS VERSIONS
Manjaro ARM PinePhone Plasma Mobile Edition
Last tested with:
KDE Plasma Version: 5.24.2
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3 with KDE backports

ADDITIONAL INFORMATION
This longstanding issue was initially reported at:
https://invent.kde.org/plasma/plasma-mobile/-/issues/65
There, it was claimed to be a GTK issue, so:
https://gitlab.gnome.org/GNOME/gtk/-/issues/3737
was filed. Then nothing had happened for months. From a log file I uploaded,
GTK developer Carlos Garnacho was able to locate the issue in KWin:
https://gitlab.gnome.org/GNOME/gtk/-/issues/3737#note_1385359
and Vlad Zahorodnii intended to investigate further, but nothing has now
happened for 2 months. So I am filing this here now, in the hope that it will
finally get the attention of somebody who is able to fix it.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to