fix infinite loop while seting positions
the check for loops in the relative potition specifications would assume all specifications were valid if the first one was.
changed it to count how many changes are needed and compared that to how many were actually set instead.
Signed-off-by: james ray wrjamesray@gmail.com