osc: don't initialize while mouse-down over an element

This is not a new issue, however, until the last commit - 96b246d
init probably didn't happen much (or at all) between mouse-down and
mouse-up, but after this commit, if there are chapters in a live-stream
then osc_init() is used to re-render the markers at the adjusted
position - which breaks the OSC buttons functionality if init happened
between mouse-down and mouse-up.
This commit is contained in:
Avi Halachmi (:avih) 2021-06-20 17:16:34 +03:00
parent 96b246d928
commit 89efe820a8
1 changed files with 8 additions and 1 deletions

View File

@ -2263,7 +2263,14 @@ function render()
end
-- init management
if state.initREQ then
if state.active_element then
-- mouse is held down on some element - keep ticking and igore initReq
-- till it's released, or else the mouse-up (click) will misbehave or
-- get ignored. that's because osc_init() recreates the osc elements,
-- but mouse handling depends on the elements staying unmodified
-- between mouse-down and mouse-up (using the index active_element).
request_tick()
elseif state.initREQ then
osc_init()
state.initREQ = false