Closed Patsonical closed 2 years ago
Thanks a lot for the detailed report. I think, implementing the "moot" animation was a bit of a quick fix, which I didn't test properly...
Unfortunately, I'm not at home and can't test, but I suspect the issue is that, in case of a such a skipped animation, the then
function is not called (in check_finished
, lines 199-200). Can you try adding this call before line 190 e.g.?
Awesome, thank you, that seems to have solved the issue (and more cleanly then my "fix" lol). I'll make a pull request with these lines added there.
Just merged :)
Whenever this conditional triggers, it blocks all further animations. It seems as though the previous animation never finishes and subsequent ones are only added to the queue and never execute.
Debug log for a normal animation:
Debug log for the final animation before freezing:
The issue seems to be fixed by making the
_animate_to
call execute regardless of whether the final state is the same as the current state or not, by removing the if-statement and making the else clause (line 226) execute every time: https://github.com/jbuchermn/newm/blob/bcea8953d722adec35cb1bcf611c985897ab08db/newm/layout.py#L218-L226This is likely a band-aid fix, as I could not locate the exact source of the issue. Something about not executing the animation is causing
on_overlay_destroyed
to not trigger correctly, asOverlay: Exit animation completed
andResetting gesture
never appear after the freeze: https://github.com/jbuchermn/newm/blob/bcea8953d722adec35cb1bcf611c985897ab08db/newm/layout.py#L1004-L1010