From 348dd829050919e77b5745235c2643713dc5e03f Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sat, 14 Feb 2009 20:22:11 +0900 Subject: [PATCH] prevent progress updates from other threads --- ankiqt/ui/main.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py index 7318f78ff..ae7d4a564 100644 --- a/ankiqt/ui/main.py +++ b/ankiqt/ui/main.py @@ -1985,19 +1985,26 @@ day = :d""", d=yesterday) addHook("updateProgress", self.onUpdateProgress) addHook("finishProgress", self.onFinishProgress) self.progressParent = None + self.mainThread = QThread.currentThread() def setProgressParent(self, parent): self.progressParent = parent def onStartProgress(self, max=100, min=0, title=None): + if self.mainThread != QThread.currentThread(): + return parent = self.progressParent or self.app.activeWindow() or self self.progressWin = ui.utils.ProgressWin(parent, max, min, title) def onUpdateProgress(self, label=None, value=None): + if self.mainThread != QThread.currentThread(): + return if self.progressWin: self.progressWin.update(label, value) def onFinishProgress(self): + if self.mainThread != QThread.currentThread(): + return if self.progressWin: self.progressWin.finish() self.progressWin = None