chiark / gitweb /
ensure_enough_rendered: forgot to render bottom item!
authorSimon Tatham <anakin@pobox.com>
Sun, 31 Dec 2023 13:37:01 +0000 (13:37 +0000)
committerSimon Tatham <anakin@pobox.com>
Sun, 31 Dec 2023 13:37:01 +0000 (13:37 +0000)
We must render the actual item that our current position points at, as
well as the ones before that. I had my loop backwards.

src/file.rs

index f72d932cd3b5883d5395985a129296cc66f7d432..2dcabf66fec9fb22a7f1a2853dbd0e42ec3598e8 100644 (file)
@@ -179,9 +179,15 @@ impl<Type: FeedType> FeedFile<Type> {
 
         let mut item = item;
         let mut lines_rendered = line;
-        while item > self.contents.first_index() && lines_rendered < h {
-            item -= 1;
+        loop {
             lines_rendered += self.ensure_item_rendered(item, w).len();
+            if lines_rendered >= h {
+                break;
+            }
+            item -= 1;
+            if item < self.contents.first_index() {
+                break;
+            }
         }
 
         if lines_rendered + 1 <= h {