diff options
author | wm4 <wm4@nowhere> | 2012-11-20 17:20:45 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2012-11-20 18:00:16 +0100 |
commit | 2cdbaaf31c85b27923c1795b5c4e3e576cdb4567 (patch) | |
tree | 8df97f6cfd4b3b6197cefc6338118f4bfe35dfb3 /core/mp_core.h | |
parent | 0e63702ef830f123d735cbbb436e3e805ad0b2d0 (diff) | |
download | mpv-2cdbaaf31c85b27923c1795b5c4e3e576cdb4567.tar.bz2 mpv-2cdbaaf31c85b27923c1795b5c4e3e576cdb4567.tar.xz |
osd: fix OSD status symbol display in some cases
The playback status symbol in the OSD status display on video (such as
displayed when seeking or with the show_progress input command)
sometimes kept displaying the last seek, without resetting the symbol.
(For example: disable the OSD, seek, enable the OSD, run show_progress;
but also other cases.)
The main reason for that was the code clearing the OSD bar is also
responsible for clearing the osd_function (which stores the playback
symbol). If no OSD bar was set, the osd_function was never reset.
Fix by always setting the timer for clearing the OSD bar and the
osd_function whenever the osd_function is set. Clearing the OSD bar
when it wasn't set is OK. If the OSD bar is set some time after
osd_function is set, the timer is overwritten - that's a good thing,
as it makes both disappear from the screen at exactly the same time.
Always reset osd_function to 0 and determine the playback status
explicitly from mpctx->paused when displaying the status on screen.
Diffstat (limited to 'core/mp_core.h')
-rw-r--r-- | core/mp_core.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/core/mp_core.h b/core/mp_core.h index 0439ca13f5..dac4dd26d0 100644 --- a/core/mp_core.h +++ b/core/mp_core.h @@ -137,8 +137,8 @@ typedef struct MPContext { int add_osd_seek_info; // bitfield of enum mp_osd_seek_info unsigned int osd_visible; - int osd_function; + struct playlist *playlist; char *filename; // currently playing file struct mp_resolve_result *resolve_result; |