osd: fix OSD getting stuck with --blend-subtitles=yes

If --blend-subtitles=yes is given, vo_opengl will call osd_draw()
multiple times, once for subtitles, and once for OSD. This meant that
the want_redraw flag was reset before the OSD was rendered, which in
turn meant that update_osd() was never called. It seems like removing
the per-OSD object want_redraw wasn't such a good idea. Fix it by
reintroducing such a flag for OSDTYPE_OSD only.

Also, the want_redraw flag is now unused, so kill it.

Another regression caused by commit 9c9cf125. Fixes #3535.
This commit is contained in:
wm4
2016-09-16 17:17:32 +02:00
parent 17e3e800e1
commit 56616b0b01
3 changed files with 18 additions and 19 deletions

View File

@@ -29,9 +29,8 @@ struct osd_object {
bool is_sub;
// OSDTYPE_OSD
bool osd_changed;
char *text;
// OSDTYPE_OSD
struct osd_progbar_state progbar_state;
// OSDTYPE_SUB/OSDTYPE_SUB2
@@ -79,6 +78,4 @@ struct osd_state {
struct mp_draw_sub_cache *draw_cache;
};
void osd_changed_unlocked(struct osd_state *osd);
#endif