rind: PlaylistModel.get_value() should check for out-of-bounds iterators

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2019-03-18 17:18:16 -04:00
parent b642e762f7
commit e9e056e925
2 changed files with 5 additions and 0 deletions

View File

@ -27,6 +27,8 @@ class PlaylistModel(GObject.GObject, Gtk.TreeModel):
return Gtk.TreePath((iter.user_data))
def do_get_value(self, iter, column):
if iter.user_data >= len(self.playlist):
return ""
track = self.playlist[iter.user_data]
if column == 0:
return f"{track['tracknumber']:02}"

View File

@ -71,3 +71,6 @@ class TestPlaylist(unittest.TestCase):
self.assertEqual(model.get_value(iter, 4), "Test Album 1")
self.assertEqual(model.get_value(iter, 5), "1973")
self.assertEqual(model.get_value(iter, 6), "Test Genre 1")
iter.user_data = 99
self.assertEqual(model.get_value(iter, 0), "")