From 744a606d69001251b386442ca573e5b9ac39bcdc Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 30 Oct 2019 10:44:19 +0100 Subject: [PATCH] added try except of Attribute error to catch not existing thread error --- pype/services/idle_manager/idle_manager.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/pype/services/idle_manager/idle_manager.py b/pype/services/idle_manager/idle_manager.py index 57b827a37e..0f7c7bb7ac 100644 --- a/pype/services/idle_manager/idle_manager.py +++ b/pype/services/idle_manager/idle_manager.py @@ -70,12 +70,22 @@ class IdleManager(QtCore.QThread): if self.qaction and self.failed_icon: self.qaction.setIcon(self.failed_icon) - thread_mouse.signal_stop.emit() - thread_mouse.terminate() - thread_mouse.wait() - thread_keyboard.signal_stop.emit() - thread_keyboard.terminate() - thread_keyboard.wait() + + # Threads don't have their attrs when Qt application already finished + try: + thread_mouse.signal_stop.emit() + thread_mouse.terminate() + thread_mouse.wait() + except AttributeError: + pass + + try: + thread_keyboard.signal_stop.emit() + thread_keyboard.terminate() + thread_keyboard.wait() + except AttributeError: + pass + self._is_running = False self.log.info('IdleManager has stopped')