diff -r f2031643fe98 -r 77afc967f38e hedgewars/uTouch.pas --- a/hedgewars/uTouch.pas Fri Apr 29 19:01:52 2016 +0200 +++ b/hedgewars/uTouch.pas Fri Apr 29 23:42:37 2016 +0200 @@ -359,12 +359,12 @@ xCursor, yCursor, index : LongInt; begin //Check array sizes - if length(fingers) < pointerCount then - begin - setLength(fingers, length(fingers)*2); - for index := length(fingers) div 2 to length(fingers) do + while Length(fingers) <= pointerCount do + begin + setLength(fingers, Length(fingers)*2); + for index := Length(fingers) div 2 to (Length(fingers)-1) do fingers[index].id := nilFingerId; - end; + end; xCursor := convertToCursorX(x); yCursor := convertToCursorY(y); @@ -513,7 +513,7 @@ var index: LongWord; begin - for index:= 0 to length(fingers) do + for index:= 0 to (Length(fingers)-1) do if fingers[index].id = id then begin findFinger:= @fingers[index]; @@ -641,7 +641,7 @@ pointerCount:= 0; setLength(fingers, 4); - for index := 0 to length(fingers) do + for index := 0 to (Length(fingers)-1) do fingers[index].id := 0; rectSize:= baseRectSize;