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

QStateMachine::started() signal not behaving as documented

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P3: Somewhat important
    • 5.0.0
    • 4.7.4, 4.8.0
    • Core: State Machine
    • None
    • 100% reproducible on Windows and Linux, Qt 4.7 and Qt 4.8
    • f7c2ba9bbe764a3f21da3fdc6a1e1c6c6da85a8f

    Description

      The documentation of QStateMachine::started() indicates that the signal is emitted when the state machine enters the initial state. However, any events generated within a slot connected to this signal do not get propagated to the initial state.

      The enclosed program emits a signal (doNextState()) within a QStateMachine::started() connected slot that should cause the state machine to transition from the initial state to the final state. However, it appears that the signal is ignored. If we emit doNextState() from a slot connected to the initial state's SIGNAL(entered()), we get the expected behavior.

      In short, it appears that when the QStateMachine::started() is emitted, the state machine hasn't "really" entered the initialState.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            kenthans Kent Hansen (Inactive)
            mtdarland Matt Darland
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes