diff options
author | Olivier Perret <Olivier.Perret@mailbox.org> | 2019-01-06 15:01:43 +0100 |
---|---|---|
committer | sfan5 <sfan5@live.de> | 2019-01-16 16:58:46 +0100 |
commit | 9be68e49b26036972860dc10df2363e6e8f0d586 (patch) | |
tree | e524168b4545114d783cc8f8cf89fe0041fe14fb /player/lua | |
parent | c681fc133c6b9ae3d8a5f462927950516624c11d (diff) | |
download | mpv-9be68e49b26036972860dc10df2363e6e8f0d586.tar.bz2 mpv-9be68e49b26036972860dc10df2363e6e8f0d586.tar.xz |
lua: execute idle handlers after timers have been processed
Idle handlers used to not be executed when timers were active
Now they are executed:
* After all expired timers have been executed
* After all events have been processed (same as when there are no timers)
Diffstat (limited to 'player/lua')
-rw-r--r-- | player/lua/defaults.lua | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/player/lua/defaults.lua b/player/lua/defaults.lua index d5bb194c50..8f91899bc2 100644 --- a/player/lua/defaults.lua +++ b/player/lua/defaults.lua @@ -476,12 +476,9 @@ function mp.dispatch_events(allow_wait) while mp.keep_running do local wait = 0 if not more_events then - wait = process_timers() - if wait == nil then - for _, handler in ipairs(idle_handlers) do - handler() - end - wait = 1e20 -- infinity for all practical purposes + wait = process_timers() or 1e20 -- infinity for all practical purposes + for _, handler in ipairs(idle_handlers) do + handler() end -- Resume playloop - important especially if an error happened while -- suspended, and the error was handled, but no resume was done. |