clear tracks from tracklists before releasing to widget pool
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user