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

SCXML does not send events to invoked process

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.5.0
    • XML: SCXML
    • None
    • Linux/X11

    Description

      Communication with invoked state machines can be done by sending events to the target with the special form of #_invokeid. The attached example will forward key presses to an invoked statemachine but they never get send nor is the log after the send is executed. W3C specifies communication to invoked processes by sending events to #_invokeid in case autoforward is false.   keyboard_statemachine.scxml sends events to the invoked process but that seems to fail as the log after the send is never executed nor does the state in the invoked process changes from state S1 to S2. Sending events back from an invoked state machine via special target #_parent works on the other hand fine. 

      What is also strange that when sending the event to #_ID_CHILD1 the invoked statemachine re-enters S1 meaning as it would get restarted 

      scxml.statemachine: "In S1" : ""

      scxml.statemachine: "Before Sending Event" : "key.pressed.KB.1"
      scxml.statemachine: "In S1" : ""

       

      Attachments

        1. keyboard_statemachine.scxml
          0.6 kB
        2. keyboard.scxml
          0.4 kB
        3. Test2.zip
          1 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            ulherman Ulf Hermann
            larry104 larry104
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes