[gnome-music/wip/mschraal/albumsview-cover-on-demand-fixes: 3/3] albumsview: Fix crash on empty view



commit 0e7ed3ca21b2f3455eeb40548679919430e36425
Author: Marinus Schraal <mschraal gnome org>
Date:   Wed Nov 6 10:29:28 2019 +0100

    albumsview: Fix crash on empty view
    
    _retrieve_covers could be triggered while no covers were available, this
    resulted in a crash.
    
    Only start retrieving covers when the list is not empty.

 gnomemusic/views/albumsview.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/gnomemusic/views/albumsview.py b/gnomemusic/views/albumsview.py
index 76d90efb..da72e244 100644
--- a/gnomemusic/views/albumsview.py
+++ b/gnomemusic/views/albumsview.py
@@ -111,7 +111,13 @@ class AlbumsView(Gtk.Stack):
             return GLib.SOURCE_CONTINUE
 
         first_cover = self._flowbox.get_child_at_index(0)
+        if first_cover is None:
+            return GLib.SOURCE_REMOVE
+
         cover_size, _ = first_cover.get_allocated_size()
+        if cover_size.width == 0 or cover_size.height == 0:
+            return GLib.SOURCE_REMOVE
+
         viewport_size, _ = self._viewport.get_allocated_size()
 
         h_space = self._flowbox.get_column_spacing()
@@ -122,9 +128,6 @@ class AlbumsView(Gtk.Stack):
         top_left_cover = self._flowbox.get_child_at_index(
             nr_cols * (adjustment // (cover_size.height + v_space)))
 
-        if cover_size.width == 0 or cover_size.height == 0:
-            return GLib.SOURCE_REMOVE
-
         covers_col = math.ceil(viewport_size.width / cover_size.width)
         covers_row = math.ceil(viewport_size.height / cover_size.height)
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]