From 20f6fe89d2ef0c11d41d3d8e2c43493781a575d7 Mon Sep 17 00:00:00 2001
From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr>
Date: Mon, 17 Oct 2016 22:38:54 +0200
Subject: [PATCH] Update on state machine

---
 src/avatartranslator/AvatarStateMachine.java | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/avatartranslator/AvatarStateMachine.java b/src/avatartranslator/AvatarStateMachine.java
index 77f7c1fa9e..9cfdbb88d1 100644
--- a/src/avatartranslator/AvatarStateMachine.java
+++ b/src/avatartranslator/AvatarStateMachine.java
@@ -218,14 +218,14 @@ public class AvatarStateMachine extends AvatarElement {
                     if ((previous != null) && (next != null)) {
                         if ((!(previous instanceof AvatarStateElement)) && (next instanceof AvatarStateElement)) {
                             // We create an intermediate state
-                            AvatarState state = new AvatarState("IntermediateState__" + id, elt.getReferenceObject());
+                            AvatarState state = new AvatarState("IntermediateState1__" + id, elt.getReferenceObject());
                             toAdd.add(state);
-                            AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState__" + id, elt.getReferenceObject());
+                            AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState1__" + id, elt.getReferenceObject());
                             toAdd.add(at1);
 
-
                             previous.removeAllNexts();
-                            previous.addNext(state);
+                            previous.addNext(at1);
+			    at1.addNext(state);
                             state.addNext(tr);
 
                             id ++;
@@ -258,14 +258,15 @@ public class AvatarStateMachine extends AvatarElement {
                 if ((previous != null) && (next != null)) {
                     if ((!(previous instanceof AvatarStateElement)) && (!(next instanceof AvatarStateElement))) {
                         // We create an intermediate state
-                        AvatarState state = new AvatarState("IntermediateState__" + id, elt.getReferenceObject());
+                        AvatarState state = new AvatarState("IntermediateState2__" + id, elt.getReferenceObject());
                         toAdd.add(state);
-                        AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState__" + id, elt.getReferenceObject());
+                        AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState2__" + id, elt.getReferenceObject());
                         toAdd.add(at1);
 
 
                         previous.removeAllNexts();
-                        previous.addNext(state);
+                        previous.addNext(at1);
+			at1.addNext(state);
                         state.addNext(tr);
 
                         id ++;
@@ -303,9 +304,9 @@ public class AvatarStateMachine extends AvatarElement {
 
                     if (!(next instanceof AvatarState)) {
                         // We create an intermediate state
-                        AvatarState state = new AvatarState("IntermediateState__" + id, elt.getReferenceObject());
+                        AvatarState state = new AvatarState("IntermediateState3__" + id, elt.getReferenceObject());
                         toAdd.add(state);
-                        AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState__" + id, elt.getReferenceObject());
+                        AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState3__" + id, elt.getReferenceObject());
                         toAdd.add(at1);
 
                         tr.removeAllNexts();
-- 
GitLab