aboutsummaryrefslogtreecommitdiffhomepage
path: root/player/osd.c
diff options
context:
space:
mode:
authorGravatar wm4 <wm4@nowhere>2016-06-12 12:52:35 +0200
committerGravatar wm4 <wm4@nowhere>2016-06-12 12:52:35 +0200
commit0b082b2086d69019edf116bb162a46d3932aefcb (patch)
treec28c541f7607493216b870cfa21edf8016b828f3 /player/osd.c
parentbb9aad097a0e9eaa71ac92890fc9d2176f74911d (diff)
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.
Diffstat (limited to 'player/osd.c')
-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;