From c189cee75942bd257411bd5ffaced5ffc058b614 Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 5 Dec 2023 17:43:23 +0100 Subject: [PATCH 1/2] trigger 'refresh_finished' signal out of 'run' method --- openpype/tools/ayon_utils/widgets/utils.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openpype/tools/ayon_utils/widgets/utils.py b/openpype/tools/ayon_utils/widgets/utils.py index 2817b5efc0..e8bb1bf6c7 100644 --- a/openpype/tools/ayon_utils/widgets/utils.py +++ b/openpype/tools/ayon_utils/widgets/utils.py @@ -15,6 +15,7 @@ class RefreshThread(QtCore.QThread): self._callback = partial(func, *args, **kwargs) self._exception = None self._result = None + self.finished.connect(self._on_finish_callback) @property def id(self): @@ -29,11 +30,13 @@ class RefreshThread(QtCore.QThread): self._result = self._callback() except Exception as exc: self._exception = exc - self.refresh_finished.emit(self.id) def get_result(self): return self._result + def _on_finish_callback(self): + self.refresh_finished.emit(self.id) + class _IconsCache: """Cache for icons.""" From b77f6b73583f4a7b6899ef46a691818cebfbb3ae Mon Sep 17 00:00:00 2001 From: Jakub Trllo Date: Tue, 5 Dec 2023 17:57:33 +0100 Subject: [PATCH 2/2] added small docstring --- openpype/tools/ayon_utils/widgets/utils.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/openpype/tools/ayon_utils/widgets/utils.py b/openpype/tools/ayon_utils/widgets/utils.py index e8bb1bf6c7..5165b3a262 100644 --- a/openpype/tools/ayon_utils/widgets/utils.py +++ b/openpype/tools/ayon_utils/widgets/utils.py @@ -35,6 +35,12 @@ class RefreshThread(QtCore.QThread): return self._result def _on_finish_callback(self): + """Trigger custom signal with thread id. + + Listening for 'finished' signal we make sure that execution of thread + finished and QThread object can be safely deleted. + """ + self.refresh_finished.emit(self.id)