mirror of
https://github.com/ankitects/anki.git
synced 2025-11-08 21:57:12 -05:00
prevent progress updates from other threads
This commit is contained in:
parent
81f5bb0d54
commit
348dd82905
1 changed files with 7 additions and 0 deletions
|
|
@ -1985,19 +1985,26 @@ day = :d""", d=yesterday)
|
||||||
addHook("updateProgress", self.onUpdateProgress)
|
addHook("updateProgress", self.onUpdateProgress)
|
||||||
addHook("finishProgress", self.onFinishProgress)
|
addHook("finishProgress", self.onFinishProgress)
|
||||||
self.progressParent = None
|
self.progressParent = None
|
||||||
|
self.mainThread = QThread.currentThread()
|
||||||
|
|
||||||
def setProgressParent(self, parent):
|
def setProgressParent(self, parent):
|
||||||
self.progressParent = parent
|
self.progressParent = parent
|
||||||
|
|
||||||
def onStartProgress(self, max=100, min=0, title=None):
|
def onStartProgress(self, max=100, min=0, title=None):
|
||||||
|
if self.mainThread != QThread.currentThread():
|
||||||
|
return
|
||||||
parent = self.progressParent or self.app.activeWindow() or self
|
parent = self.progressParent or self.app.activeWindow() or self
|
||||||
self.progressWin = ui.utils.ProgressWin(parent, max, min, title)
|
self.progressWin = ui.utils.ProgressWin(parent, max, min, title)
|
||||||
|
|
||||||
def onUpdateProgress(self, label=None, value=None):
|
def onUpdateProgress(self, label=None, value=None):
|
||||||
|
if self.mainThread != QThread.currentThread():
|
||||||
|
return
|
||||||
if self.progressWin:
|
if self.progressWin:
|
||||||
self.progressWin.update(label, value)
|
self.progressWin.update(label, value)
|
||||||
|
|
||||||
def onFinishProgress(self):
|
def onFinishProgress(self):
|
||||||
|
if self.mainThread != QThread.currentThread():
|
||||||
|
return
|
||||||
if self.progressWin:
|
if self.progressWin:
|
||||||
self.progressWin.finish()
|
self.progressWin.finish()
|
||||||
self.progressWin = None
|
self.progressWin = None
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue