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

QStateMachine stops processing internal events too early

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.4.1, 5.5.0 Alpha
    • Fix Version/s: 5.5.0 RC
    • Component/s: Core: State Machine
    • Labels:
      None
    • Commits:
      67d255f18343d74bbc9a0eec460995ca615473be

      Description

      Event sequence:

      • external event that selects a transition
      • internal event that does not select a transition
      • internal event that does select a transition

      In this case, the first internal event is dequeued, checked, and discarded because it does not select any transitions. Instead of pulling the next event from the internal queue, the state machine will dequeue the external event. Only after that is processed, the second internal event is processed.

      This behaviour is invalid: the internal queue should be emptied before the external queue.

        Attachments

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

          Activity

            People

            Assignee:
            erikv Erik Verbruggen
            Reporter:
            erikv Erik Verbruggen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes