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