- 
    Bug 
- 
    Resolution: Unresolved
- 
    P3: Somewhat important 
- 
    None
- 
    5.4.2, 5.5.0 Beta
- 
    None
QState (and therefore also QStateMachine) want the initial state to be a direct decendant of itself. For example:
QState a;
  QState b(&a);
    QState c(&b);
a.setInitialState(&c); // WARNING: state 0x123 is not a child of this state (0x456)
There is noting preventing a "deep" state as the initial state. The state machine will then enter both b and c whenever a is entered. The check should be changed to see if the initial state has the current state as an ancestor, and not as a direct parent.