Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-122231

wayland: Do not force pointer focus on popups

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • rhel-10.2
    • mutter
    • None
    • None
    • rhel-display-desktop-foundation
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified

      We currently force switch the pointer focus to be the popup
      surface whenever a xdg_popup is created, drop this for three
      reasons:

      • The protocol says "During a popup grab, the client owning the
        grab will receive pointer and touch events for all their surfaces
        as normal". That also means receiving a wl_pointer.enter event iff
        the surface is under the pointer.
      • The popup surface actor will be on its way to having its size
        allocated in order to being shown. When we switch focus here, the
        coordinates we can obtain for the actor in this state will be
        nonsensical. We do indeed emit wl_pointer.enter with out of whack
        coordinates when a xdg_popup is shown.
      • The reason to add this was
        GNOME/gtk#7414, but this issue
        does not reproduce anymore.

      Dropping this, we let the MetaWaylandPointer update itself if
      the pointer ends up over any other another client surface, be it
      through motion or actor relayouts. This is truer to the xdg-shell
      spec, and results in .enter events having correct coordinates.

              cgarnach Carlos Garnacho
              tpopela@redhat.com Tomas Popela
              Carlos Garnacho Carlos Garnacho
              Michal Odehnal Michal Odehnal
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated: