From bd2202522caf35ba4d5442b680c01a5aa08221f9 Mon Sep 17 00:00:00 2001 From: Thomas Perl Date: Tue, 18 Dec 2012 20:48:10 +0100 Subject: [PATCH] QML UI: Avoid crashes with zero refcounts --- src/gpodder/qmlui/__init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gpodder/qmlui/__init__.py b/src/gpodder/qmlui/__init__.py index 3bb18f2c9..d37e8dcbe 100644 --- a/src/gpodder/qmlui/__init__.py +++ b/src/gpodder/qmlui/__init__.py @@ -806,6 +806,7 @@ def __init__(self, config, root): gPodderListModel.__init__(self) self._filter = config.ui.qml.state.episode_list_filter self._filtered = [] + self._processed = [] self._is_subset_view = False self._config = config @@ -864,8 +865,11 @@ def to_dict(episode): 'archive': episode.qarchive, } - self._root.setEpisodeListModel.emit(map(to_dict, - self._filtered[:EPISODE_LIST_LIMIT])) + processed = map(to_dict, self._filtered[:EPISODE_LIST_LIMIT]) + self._root.setEpisodeListModel.emit(processed) + + # Keep a reference here to avoid crashes + self._processed = processed def get_objects(self): return self._filtered