clear tracks from tracklists before releasing to widget pool

This commit is contained in:
Drew Weymouth
2023-07-10 13:51:09 -07:00
parent a86a81f1e6
commit f75a5e27a5
6 changed files with 6 additions and 0 deletions
+1
View File
@@ -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
}
+1
View File
@@ -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)
+1
View File
@@ -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
+1
View File
@@ -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
+1
View File
@@ -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
}
+1
View File
@@ -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