From 42455eca6495503e78606c7e664bfb2ef6802747 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sat, 4 Dec 2021 08:37:42 +1000 Subject: [PATCH] QueryOp() was attempting to open progress window on background thread --- qt/aqt/operations/__init__.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/qt/aqt/operations/__init__.py b/qt/aqt/operations/__init__.py index 469c10df7..4250977c4 100644 --- a/qt/aqt/operations/__init__.py +++ b/qt/aqt/operations/__init__.py @@ -176,7 +176,11 @@ class QueryOp(Generic[T]): self._failure = failure return self - def with_progress(self, label: str | None = None) -> QueryOp[T]: + def with_progress( + self, + label: str | None = None, + ) -> QueryOp[T]: + "If label not provided, will default to 'Processing...'" self._progress = label or True return self @@ -195,7 +199,12 @@ class QueryOp(Generic[T]): label = self._progress else: label = None - mw.progress.start(label=label) + + def start_progress() -> None: + assert mw + mw.progress.start(label=label) + + mw.taskman.run_on_main(start_progress) return self._op(mw.col) def wrapped_done(future: Future) -> None: