diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 8499e304c3..c217d90ddf 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -307,6 +307,8 @@ class FunctionDispatcher(QObject): self.lock = threading.Lock() def __call__(self, *args, **kwargs): + if is_gui_thread(): + return self.func(*args, **kwargs) with self.lock: self.dispatch_signal.emit(self.q, args, kwargs) res = self.q.get()