diff --git a/reading_machine/src/Config.cpp b/reading_machine/src/Config.cpp index 019d17de0896083ba20d0791dd36c816c8144448..99a7d34bafda99d241eb827bbf1d11dd76ce0951 100644 --- a/reading_machine/src/Config.cpp +++ b/reading_machine/src/Config.cpp @@ -448,15 +448,15 @@ bool Config::moveWordIndex(int relativeMovement) dir = -1; int movementDone = 0; - if (isMultiwordPredicted(wordIndex)) + if (isMultiwordPredicted(wordIndex) and (dir >= 0 or wordIndex > 0)) wordIndex += dir; while (movementDone != relativeMovement) { - if (isMultiwordPredicted(wordIndex)) + if (isMultiwordPredicted(wordIndex) and (dir >= 0 or wordIndex > 0)) wordIndex += dir; wordIndex += dir; movementDone += dir; - if (isMultiwordPredicted(wordIndex)) + if (isMultiwordPredicted(wordIndex) and (dir >= 0 or wordIndex > 0)) wordIndex += dir; } @@ -468,7 +468,7 @@ void Config::moveWordIndexRelaxed(int relativeMovement) int dir = 1; if (relativeMovement < 0) dir = -1; - if (isMultiwordPredicted(wordIndex)) + if (isMultiwordPredicted(wordIndex) and (dir >= 0 or wordIndex > 0)) wordIndex += dir; for (int i = 0; i < abs(relativeMovement); i++) if (!moveWordIndex(dir))