diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index e113ef0611..09019af18b 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -716,6 +716,9 @@ View an ebook. def main(args=sys.argv): + # Ensure viewer can continue to function if GUI is closed + os.environ.pop('CALIBRE_WORKER_TEMP_DIR', None) + parser = option_parser() opts, args = parser.parse_args(args) pid = os.fork() if False and (islinux or isfreebsd) else -1 diff --git a/src/calibre/utils/ipc/worker.py b/src/calibre/utils/ipc/worker.py index e3584380a1..d8ffad7c53 100644 --- a/src/calibre/utils/ipc/worker.py +++ b/src/calibre/utils/ipc/worker.py @@ -105,7 +105,7 @@ def main(): notifier.start() result = func(*args, **kwargs) - if result is not None: + if result is not None and os.path.exists(os.path.dirname(resultf)): cPickle.dump(result, open(resultf, 'wb'), -1) notifier.queue.put(None)