Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-77976

Applications crash when receiving wl_pointer.up for a destroyed QWaylandWindow

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.14.0 Alpha
    • Fix Version/s: 5.14.0 Alpha
    • Component/s: QPA: Wayland
    • Labels:
      None
    • Platform/s:
      Linux/Wayland
    • Commits:
      f3668f88ccad6341280fbe2ca493562f80e76955 (qt/qtwayland/5.14)

      Description

      This manifests itself as flakiness in tst_xdgshell::popup. The easiest way to reproduce, is to run the test multiple times in quick succession, i.e.:

      ./tst_xdgshell popup popup popup popup popup popup popup popup popup popup popup popup popup popup popup popup popup popup popup popup popup popup popup popup popup popup
      

      It crashes because when we flush old pointer events, we dereference a raw QWaylandWindow pointer which may be dangling.

      This is a regression in 5.14, as 5.13 didn't have that pointer, and didn't handle wl_pointer.frame events.

        Attachments

        For Gerrit Dashboard: QTBUG-77976
        # Subject Branch Project Status CR V

          Activity

            People

            Assignee:
            johanhelsing Johan Helsing
            Reporter:
            johanhelsing Johan Helsing
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes