diff --git a/openlp/plugins/songs/forms/editsongform.py b/openlp/plugins/songs/forms/editsongform.py index 146ef0422..1c254406c 100644 --- a/openlp/plugins/songs/forms/editsongform.py +++ b/openlp/plugins/songs/forms/editsongform.py @@ -682,7 +682,7 @@ class EditSongForm(QtGui.QDialog, Ui_EditSongDialog): text = unicode(self.songBookComboBox.currentText()) if item == 0 and text: temp_song_book = text - self.mediaitem.song_maintenance_form.exec_() + self.mediaitem.songMaintenanceForm.exec_() self.loadAuthors() self.loadBooks() self.loadTopics() diff --git a/openlp/plugins/songs/lib/mediaitem.py b/openlp/plugins/songs/lib/mediaitem.py index 7d5e85af5..ac56b4c53 100644 --- a/openlp/plugins/songs/lib/mediaitem.py +++ b/openlp/plugins/songs/lib/mediaitem.py @@ -239,7 +239,7 @@ class SongMediaItem(MediaManagerItem): + u'%'), Song.comments.like(u'%' + search_keywords.lower() + u'%'))) - def onSongListLoad(self): + def onSongListLoad(self, item_id=None): """ Handle the exit from the edit dialog and trigger remote updates of songs @@ -371,7 +371,7 @@ class SongMediaItem(MediaManagerItem): self.editSongForm.loadSong(item_id, False) self.editSongForm.exec_() self.autoSelectId = -1 - self.onSongListLoad() + self.onSongListLoad(item_id) self.editItem = None def onDeleteClick(self): @@ -428,8 +428,11 @@ class SongMediaItem(MediaManagerItem): def generateSlideData(self, service_item, item=None, xmlVersion=False, remote=False): - log.debug(u'generateSlideData (%s:%s)' % (service_item, item)) - item_id = self._getIdOfItemToGenerate(item, self.remoteSong) + log.debug(u'generateSlideData: %s, %s, %s' % (service_item, item, self.remoteSong)) + # The ``None`` below is a workaround for bug #812289 - I think that Qt + # deletes the item somewhere along the line because the user is taking + # so long to update their item (or something weird like that). + item_id = self._getIdOfItemToGenerate(None, self.remoteSong) service_item.add_capability(ItemCapabilities.CanEdit) service_item.add_capability(ItemCapabilities.CanPreview) service_item.add_capability(ItemCapabilities.CanLoop)