                        (Thread/sleep pause-time 0)
                        (recur))))
                  (with-canvas canvas this
+                   (not (nil? anim-actions))
                    (call-on-func-or-func-seq #(% canvas 1) anim-actions)
                    (call-on-func-or-func-seq #(% canvas 1) anim-after-actions))
-                 (Thread/sleep pause-time 0)
-                 ;; completed action or not - remove it anyway
-                 (.poll msg-queue)))
+                 (Thread/sleep pause-time 0)))
              (Thread/sleep 100 0))
            (recur)))
        (log "Drawing thread dies"))

                     (assert (<= 0 diff))
                     (when (< diff duration)
                       (with-canvas canvas this
                         (call-on-func-or-func-seq #(% canvas (/ diff duration))
                                                   anim-actions)
                         (call-on-func-or-func-seq #(% canvas (/ diff duration))

                     msg
                     start-time (System/currentTimeMillis)]
                 (with-canvas canvas this
                   (not (nil? anim-actions))
                   (call-on-func-or-func-seq #(% canvas 0) anim-actions)
                   (call-on-func-or-func-seq #(% canvas 0) anim-after-actions))
                 (Thread/sleep pause-time 0)
