diff --git a/src/calibre/gui2/device.py b/src/calibre/gui2/device.py index 8d92ea089b..0e98b81f1c 100644 --- a/src/calibre/gui2/device.py +++ b/src/calibre/gui2/device.py @@ -76,10 +76,16 @@ class DeviceJob(BaseJob): # {{{ self.job_done() def abort(self, err): + call_job_done = False + if self.run_state == self.WAITING: + self.start_work() + call_job_done = True self._aborted = True self.failed = True self._details = unicode(err) self.exception = err + if call_job_done: + self.job_done() @property def log_file(self):