Blob Blame History Raw
diff -Nur soundconverter-2.0.4-orig/soundconverter/ui.py soundconverter-2.0.4/soundconverter/ui.py
--- soundconverter-2.0.4-orig/soundconverter/ui.py	2012-10-06 12:43:23.000000000 +0200
+++ soundconverter-2.0.4/soundconverter/ui.py	2013-02-11 01:49:46.131472695 +0100
@@ -1309,7 +1309,12 @@
 
     def tags_read(self, tagreader):
         sound_file = tagreader.get_sound_file()
-        self.converter.add(sound_file)
+        try:
+            self.converter.add(sound_file)
+        except ConverterQueueCanceled:
+            self.tag_reader_exception = ConverterQueueCanceled
+        except ConverterQueueError:
+            self.tag_reader_exception = ConverterQueueError
 
     def on_progress(self):
         if self.pulse_progress >= 0: # still waiting for tags
@@ -1336,6 +1341,7 @@
         return running
 
     def do_convert(self):
+        self.tag_reader_exception = None
         try:
             self.pulse_progress = -1
             gobject.timeout_add(100, self.on_progress)
@@ -1347,6 +1353,10 @@
             total = len(files)
             for i, sound_file in enumerate(files):
                 gtk_iteration()
+                e = self.tag_reader_exception
+                if e:
+                    log("Forwarded exception!")
+                    raise e
                 self.pulse_progress = float(i)/total
                 sound_file.progress = None
                 if self.prefs.require_tags: