fixed #lineOfCharacterPosition: (for last character pos)
authorClaus Gittinger <cg@exept.de>
Mon, 06 Apr 1998 12:39:35 +0200
changeset 1479 f0c3e77e03b6
parent 1478 97296faf0c2f
child 1480 eabb1848e2fa
fixed #lineOfCharacterPosition: (for last character pos)
ListView.st
--- a/ListView.st	Mon Apr 06 12:38:02 1998 +0200
+++ b/ListView.st	Mon Apr 06 12:39:35 1998 +0200
@@ -1978,12 +1978,17 @@
     lineNr := 1.
     sum := 0.
     lastLine := self size.
-    [sum < charPos] whileTrue:[
-	(lineNr > lastLine) ifTrue:[^ lineNr - 1].
-	sum := sum + (self at:lineNr) size + 1.
-	lineNr := lineNr + 1
+    [(sum < charPos) and:[lineNr <= lastLine]] whileTrue:[
+        sum := sum + (self at:lineNr) size + 1.
+        lineNr := lineNr + 1
     ].
+    sum == charPos ifTrue:[
+        ^ lineNr
+    ].
+
     ^ lineNr - 1
+
+    "Modified: / 5.4.1998 / 17:19:28 / cg"
 !
 
 listAt:lineNr
@@ -3653,5 +3658,5 @@
 !ListView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.160 1998-03-20 16:28:20 tz Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.161 1998-04-06 10:39:35 cg Exp $'
 ! !