diff --git a/src/Call.cpp b/src/Call.cpp index d049db8b119e3c5711a86c52244871547e5a1738..95912c67651d2c99aeebaf9d2245338c9847d67b 100644 --- a/src/Call.cpp +++ b/src/Call.cpp @@ -490,11 +490,13 @@ call_state Call::actionPerformed(call_action action) Q_ASSERT_X((state>4) || (state < 0),"perform action","Invalid action ("+QString::number(action)+")"); Q_ASSERT_X((action>5) || (action < 0),"perform action","Invalid action ("+QString::number(action)+")"); //update the state - changeCurrentState(actionPerformedStateMap[previousState][action]); - //execute the action associated with this transition - (this->*(actionPerformedFunctionMap[previousState][action]))(); //WARNING BUG //WARNING SEGFAULT //TODO remove this node, it was not a good idea, it is not stable - qDebug() << "Calling action " << action << " on call with state " << previousState << ". Become " << m_CurrentState; - //return the new state + if (previousState < 11 && action < 5) { + changeCurrentState(actionPerformedStateMap[previousState][action]); + //execute the action associated with this transition + (this->*(actionPerformedFunctionMap[previousState][action]))(); //WARNING BUG //WARNING SEGFAULT //TODO remove this node, it was not a good idea, it is not stable + qDebug() << "Calling action " << action << " on call with state " << previousState << ". Become " << m_CurrentState; + //return the new state + } return m_CurrentState; }