diff --git a/pysollib/game.py b/pysollib/game.py index a69813f1..708cf8bc 100644 --- a/pysollib/game.py +++ b/pysollib/game.py @@ -1896,8 +1896,7 @@ You have reached if TOOLKIT == 'kivy': if not self.app.opt.display_win_message: return 1 - from kivy.LApp import LAnimationManager - self.top.waitCondition(LAnimationManager.checkRunning) + self.top.waitAnimation() if status == 2: top_msg = self.updateStats() time = self.getTime() diff --git a/pysollib/kivy/LApp.py b/pysollib/kivy/LApp.py index c3879a01..45746930 100644 --- a/pysollib/kivy/LApp.py +++ b/pysollib/kivy/LApp.py @@ -1355,6 +1355,9 @@ class LTkBase: self.in_loop = False logging.info('LTkBase: wait condition end') + def waitAnimation(self): + self.waitCondition(LAnimationManager.checkRunning) + def tkraise(self): pass diff --git a/pysollib/kivy/tkutil.py b/pysollib/kivy/tkutil.py index 656a236c..e0c808bc 100644 --- a/pysollib/kivy/tkutil.py +++ b/pysollib/kivy/tkutil.py @@ -413,7 +413,7 @@ def _scaleTextureToSize(texture, size): bpos = (bline + bk) * 4 if (bk >= offx) and (bk < (width - offx)): # transfer - ak = gw - int((bk - offx) / scale) - 1 + ak = int((bk - offx) / scale) apos = (aline + ak) * 4 bb[bpos] = ag[apos] bb[bpos + 1] = ag[apos + 1] diff --git a/pysollib/stack.py b/pysollib/stack.py index ee2d796a..53771257 100644 --- a/pysollib/stack.py +++ b/pysollib/stack.py @@ -1477,6 +1477,8 @@ class Stack: if img is None: return # self.canvas.update_idletasks() + if TOOLKIT is 'kivy': + self.game.top.waitAnimation() item = MfxCanvasImage(self.canvas, card.x, card.y, image=img, anchor=ANCHOR_NW, group=self.group) # item.tkraise() @@ -2908,6 +2910,8 @@ class WasteTalonStack(TalonStack): self.game.moveMove(1, self, waste, frames=4, shadow=0) else: self.game.moveMove(1, self, waste, frames=4, shadow=0) + if TOOLKIT is 'kivy': + self.game.top.waitAnimation() self.fillStack() elif waste.cards and self.round != self.max_rounds: if sound: