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

race condition with async Shape(Path)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.7
    • Quick: Shapes
    • None
    • Linux/Wayland

    Description

      It appears there is a race condition when an async ShapePath's bindings change while a runner is active. The bindings change gets ignored entirely.

      This also apparently happens when using a non-trivial setup involving multiple instantiators of which at least one is async, though I haven't managed to reproduce that outside our application code.

      I'm attaching an example. It creates a path relative to the dimension of a parent item. A timer changes that dimension shortly after creation, this change will not be picked up. Another timer runs 4s later and will trigger a correct update.

      Downstream seen in https://bugs.kde.org/show_bug.cgi?id=492326 where the item changes dimension as part of layouting and eventually gets redrawn correctly when we change fillColor of the Shape when the user hovers where the Shape is actually meant to be.

      Attachments

        1. 2024-09-05 01-07-44.mkv
          1.56 MB
        2. log
          74 kB
        3. shape.qml
          2 kB
        For Gerrit Dashboard: QTBUG-128637
        # Subject Branch Project Status CR V

        Activity

          People

            vgt Eirik Aavitsland
            apachelogger Harald Sitter
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There is 1 open Gerrit change