From b2cc80e404fc482af9f842fd6f42b692345739dd Mon Sep 17 00:00:00 2001
From: June Tate-Gans <june@theonelab.com>
Date: Sun, 9 May 2021 23:11:15 -0500
Subject: [PATCH] bitwidgets: Make ListView resilient to empty models

---
 g13gui/bitwidgets/listview.py | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/g13gui/bitwidgets/listview.py b/g13gui/bitwidgets/listview.py
index 3f4fa94..39ec2b4 100644
--- a/g13gui/bitwidgets/listview.py
+++ b/g13gui/bitwidgets/listview.py
@@ -45,14 +45,19 @@ class ListView(Widget):
 
     def selection(self):
         items = sorted(self._model)
+        if self._selectionIdx >= len(items):
+            return None
         return items[self._selectionIdx]
 
     def markedItem(self):
         items = sorted(self._model)
+        if self._markedIdx >= len(items):
+            return None
         return items[self._markedIdx]
 
     def nextSelection(self):
         maxIdx = len(self._model) - 1
+        maxIdx = 0 if maxIdx < 0 else maxIdx
         idx = self.selectionIndex
 
         idx += 1