From f75a5e27a505f7c8bed49825fa0591556239ecfe Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Mon, 10 Jul 2023 13:51:09 -0700 Subject: [PATCH] clear tracks from tracklists before releasing to widget pool --- ui/browsing/albumpage.go | 1 + ui/browsing/artistpage.go | 1 + ui/browsing/favoritespage.go | 1 + ui/browsing/nowplayingpage.go | 1 + ui/browsing/playlistpage.go | 1 + ui/browsing/trackspage.go | 1 + 6 files changed, 6 insertions(+) diff --git a/ui/browsing/albumpage.go b/ui/browsing/albumpage.go index 8b58650..ac2a539 100644 --- a/ui/browsing/albumpage.go +++ b/ui/browsing/albumpage.go @@ -117,6 +117,7 @@ func (a *AlbumPage) Save() SavedPage { s.sort = a.tracklist.Sorting() a.header.page = nil a.pool.Release(util.WidgetTypeAlbumPageHeader, a.header) + a.tracklist.Clear() a.pool.Release(util.WidgetTypeTracklist, a.tracklist) return &s } diff --git a/ui/browsing/artistpage.go b/ui/browsing/artistpage.go index 167677c..1ec1789 100644 --- a/ui/browsing/artistpage.go +++ b/ui/browsing/artistpage.go @@ -127,6 +127,7 @@ func (a *ArtistPage) Save() SavedPage { if a.tracklistCtr != nil { tl := a.tracklistCtr.Objects[0].(*widgets.Tracklist) s.trackSort = tl.Sorting() + tl.Clear() a.pool.Release(util.WidgetTypeTracklist, tl) } a.pool.Release(util.WidgetTypeArtistPageHeader, a.header) diff --git a/ui/browsing/favoritespage.go b/ui/browsing/favoritespage.go index ecab761..8cfaf12 100644 --- a/ui/browsing/favoritespage.go +++ b/ui/browsing/favoritespage.go @@ -202,6 +202,7 @@ func (a *FavoritesPage) Save() SavedPage { if a.tracklistCtr != nil { tl := a.tracklistCtr.Objects[0].(*widgets.Tracklist) sf.trackSort = tl.Sorting() + tl.Clear() a.pool.Release(util.WidgetTypeTracklist, tl) } return sf diff --git a/ui/browsing/nowplayingpage.go b/ui/browsing/nowplayingpage.go index c4787d2..f93f281 100644 --- a/ui/browsing/nowplayingpage.go +++ b/ui/browsing/nowplayingpage.go @@ -99,6 +99,7 @@ func (a *NowPlayingPage) CreateRenderer() fyne.WidgetRenderer { } func (a *NowPlayingPage) Save() SavedPage { + a.tracklist.Clear() a.pool.Release(util.WidgetTypeTracklist, a.tracklist) nps := a.nowPlayingPageState return &nps diff --git a/ui/browsing/playlistpage.go b/ui/browsing/playlistpage.go index e6021fe..d28bd5a 100644 --- a/ui/browsing/playlistpage.go +++ b/ui/browsing/playlistpage.go @@ -116,6 +116,7 @@ func (a *PlaylistPage) Save() SavedPage { p := a.playlistPageState p.trackSort = a.tracklist.Sorting() p.widgetPool.Release(util.WidgetTypePlaylistPageHeader, a.header) + a.tracklist.Clear() p.widgetPool.Release(util.WidgetTypeTracklist, a.tracklist) return &p } diff --git a/ui/browsing/trackspage.go b/ui/browsing/trackspage.go index 420e793..2378a3f 100644 --- a/ui/browsing/trackspage.go +++ b/ui/browsing/trackspage.go @@ -151,6 +151,7 @@ func (t *TracksPage) CreateRenderer() fyne.WidgetRenderer { func (t *TracksPage) Save() SavedPage { t.loader.Dispose() + t.tracklist.Clear() t.widgetPool.Release(util.WidgetTypeTracklist, t.tracklist) state := t.tracksPageState return &state