From 8241808d6525e33e031f62cb415df257b058e0d5 Mon Sep 17 00:00:00 2001 From: Andreas Preikschat Date: Sat, 26 May 2012 22:06:19 +0200 Subject: [PATCH] fixed traceback when deleting an author/topic which has just been added to an unsaved song --- openlp/plugins/songs/forms/editsongform.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 989f0bc85..61043f805 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -865,12 +865,16 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): for row in xrange(self.authorsListView.count()): item = self.authorsListView.item(row) authorId = (item.data(QtCore.Qt.UserRole)).toInt()[0] - self.song.authors.append(self.manager.get_object(Author, authorId)) + author = self.manager.get_object(Author, authorId) + if author is not None: + self.song.authors.append(author) self.song.topics = [] for row in xrange(self.topicsListView.count()): item = self.topicsListView.item(row) topicId = (item.data(QtCore.Qt.UserRole)).toInt()[0] - self.song.topics.append(self.manager.get_object(Topic, topicId)) + topic = self.manager.get_object(Topic, topicId) + if topic is not None: + self.song.topics.append(topic) # Save the song here because we need a valid id for the audio files. clean_song(self.manager, self.song) self.manager.save_object(self.song)