--- a/ListView.st Thu Nov 14 16:35:17 1996 +0100
+++ b/ListView.st Thu Nov 14 17:40:54 1996 +0100
@@ -2412,24 +2412,30 @@
(aListLineNr isNil "or:[shown not]") ifTrue:[^ self].
shown ifFalse:[
- firstLineShown := (aListLineNr - 1) max:1.
- ^ self
+ firstLineShown := (aListLineNr - 1) max:1.
+ firstLineShown > (list size - nFullLinesShown) ifTrue:[
+ firstLineShown := list size - nFullLinesShown
+ ].
+ list size <= nFullLinesShown ifTrue:[
+ firstLineShown := 1
+ ].
+ ^ self
].
(aListLineNr >= firstLineShown) ifTrue:[
- (aListLineNr < (firstLineShown + nFullLinesShown)) ifTrue:[
- ^ self
- ]
+ (aListLineNr < (firstLineShown + nFullLinesShown)) ifTrue:[
+ ^ self
+ ]
].
(aListLineNr < nFullLinesShown) ifTrue:[
- ^ self scrollToLine:1
+ ^ self scrollToLine:1
].
(nFullLinesShown < 3) ifTrue:[
- ^ self scrollToLine:aListLineNr
+ ^ self scrollToLine:aListLineNr
].
bott := self numberOfLines - (nFullLinesShown - 1).
(aListLineNr > bott) ifTrue:[
- ^ self scrollToLine:bott
+ ^ self scrollToLine:bott
].
self scrollToLine:(aListLineNr - (nFullLinesShown // 2) + 1)
@@ -3470,5 +3476,5 @@
!ListView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.105 1996-11-04 22:29:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg/ListView.st,v 1.106 1996-11-14 16:40:54 ca Exp $'
! !