← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~raoul-snyman/openlp/bug-812289 into lp:openlp

 

Raoul Snyman has proposed merging lp:~raoul-snyman/openlp/bug-812289 into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)
Related bugs:
  Bug #812289 in OpenLP: "Editing author from song editor causes traceback"
  https://bugs.launchpad.net/openlp/+bug/812289

For more details, see:
https://code.launchpad.net/~raoul-snyman/openlp/bug-812289/+merge/76645

Fixed bug #812289. Forced the mediaitem to get the QListWidgetItem from the list again.
-- 
https://code.launchpad.net/~raoul-snyman/openlp/bug-812289/+merge/76645
Your team OpenLP Core is requested to review the proposed merge of lp:~raoul-snyman/openlp/bug-812289 into lp:openlp.
=== modified file 'openlp/plugins/songs/forms/editsongform.py'
--- openlp/plugins/songs/forms/editsongform.py	2011-09-04 12:04:44 +0000
+++ openlp/plugins/songs/forms/editsongform.py	2011-09-22 20:15:28 +0000
@@ -682,7 +682,7 @@
         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()

=== modified file 'openlp/plugins/songs/lib/mediaitem.py'
--- openlp/plugins/songs/lib/mediaitem.py	2011-09-16 08:15:37 +0000
+++ openlp/plugins/songs/lib/mediaitem.py	2011-09-22 20:15:28 +0000
@@ -239,7 +239,7 @@
                 + 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 @@
             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 @@
 
     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)