summaryrefslogtreecommitdiff
path: root/src/entry_backend/pango.c
diff options
context:
space:
mode:
authorPhil Jones <philj56@gmail.com>2022-08-03 12:48:00 +0100
committerPhil Jones <philj56@gmail.com>2022-08-03 12:48:00 +0100
commit04731d5dd4172c94d7d33fb5fdc5dd2a74cfe754 (patch)
tree1ab8464e8e126156306ac0ff734737a261b38ae5 /src/entry_backend/pango.c
parent02497d8e31876e6269f8686c44ec4f23a09cf5eb (diff)
Add pagination of results.
Diffstat (limited to 'src/entry_backend/pango.c')
-rw-r--r--src/entry_backend/pango.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/entry_backend/pango.c b/src/entry_backend/pango.c
index c182e4c..41d8301 100644
--- a/src/entry_backend/pango.c
+++ b/src/entry_backend/pango.c
@@ -90,9 +90,18 @@ void entry_backend_pango_update(struct entry *entry)
} else if (i >= entry->num_results) {
break;
}
+ size_t index = i + entry->num_results * entry->page;
+ /*
+ * We may be on the last page, which could have fewer results
+ * than expected, so check and break if necessary.
+ */
+ if (index >= entry->results.count) {
+ break;
+ }
+
const char *str;
if (i < entry->results.count) {
- str = entry->results.buf[i].string;
+ str = entry->results.buf[index].string;
} else {
str = "";
}