[gnome-music/wip/mschraal/core-thumb-property: 4/16] artistartstack: Disconnect cache callback
- From: Marinus Schraal <mschraal src gnome org>
- To: commits-list gnome org
- Cc: 
- Subject: [gnome-music/wip/mschraal/core-thumb-property: 4/16] artistartstack: Disconnect cache callback
- Date: Sun, 14 Jun 2020 22:22:23 +0000 (UTC)
commit baf1cbb43d6cfe011290152202eecdf243e8df32
Author: Marinus Schraal <mschraal gnome org>
Date:   Sun Apr 5 21:54:42 2020 +0200
    artistartstack: Disconnect cache callback
    
    When a new ArtCache is created, the old callback can be disconnected and
    reused.
 gnomemusic/widgets/artistartstack.py | 5 +++++
 1 file changed, 5 insertions(+)
---
diff --git a/gnomemusic/widgets/artistartstack.py b/gnomemusic/widgets/artistartstack.py
index b3aeec0d..2e2f0d23 100644
--- a/gnomemusic/widgets/artistartstack.py
+++ b/gnomemusic/widgets/artistartstack.py
@@ -108,6 +108,8 @@ class ArtistArtStack(Gtk.Stack):
             self._on_thumbnail_changed(self._coreartist, None)
 
     def _on_thumbnail_changed(self, coreartist, uri):
+        self._disconnect_cache()
+
         self._cache = ArtCache(self.props.size, self.props.scale_factor)
         self._handler_id = self._cache.connect("result", self._on_cache_result)
 
@@ -125,6 +127,9 @@ class ArtistArtStack(Gtk.Stack):
         # If the stacm is destroyed while the art is updated, an error
         # can occur once the art is retrieved because the CoverStack
         # does not have children anymore.
+        self._disconnect_cache()
+
+    def _disconnect_cache(self):
         if (self._cache is not None
                 and self._handler_id is not None):
             self._cache.disconnect(self._handler_id)
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]