summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-06-12 12:52:35 +0200
committerwm4 <wm4@nowhere>2016-06-12 12:52:35 +0200
commit0b082b2086d69019edf116bb162a46d3932aefcb (patch)
treec28c541f7607493216b870cfa21edf8016b828f3
parentbb9aad097a0e9eaa71ac92890fc9d2176f74911d (diff)
downloadmpv-0b082b2086d69019edf116bb162a46d3932aefcb.tar.bz2
mpv-0b082b2086d69019edf116bb162a46d3932aefcb.tar.xz
player: fix previous commit
Of course we can't just skip updating the OSD if the playloop was woken up for the purpose of removing OSD after an OSD timer expired. Fixes e.g. OSD bars sometimes sticking along when seeking while paused.
-rw-r--r--player/osd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/player/osd.c b/player/osd.c
index de84421d93..69b8dbb8b1 100644
--- a/player/osd.c
+++ b/player/osd.c
@@ -511,6 +511,7 @@ void update_osd_msg(struct MPContext *mpctx)
double sleep = mpctx->osd_visible - now;
if (sleep > 0) {
mpctx->sleeptime = MPMIN(mpctx->sleeptime, sleep);
+ mpctx->osd_idle_update = true;
} else {
mpctx->osd_visible = 0;
mpctx->osd_progbar.type = -1; // disable
@@ -522,6 +523,7 @@ void update_osd_msg(struct MPContext *mpctx)
double sleep = mpctx->osd_function_visible - now;
if (sleep > 0) {
mpctx->sleeptime = MPMIN(mpctx->sleeptime, sleep);
+ mpctx->osd_idle_update = true;
} else {
mpctx->osd_function_visible = 0;
mpctx->osd_function = 0;
@@ -539,6 +541,7 @@ void update_osd_msg(struct MPContext *mpctx)
double sleep = mpctx->osd_msg_visible - now;
if (sleep > 0) {
mpctx->sleeptime = MPMIN(mpctx->sleeptime, sleep);
+ mpctx->osd_idle_update = true;
} else {
talloc_free(mpctx->osd_msg_text);
mpctx->osd_msg_text = NULL;