summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-12-27 12:24:44 +0100
committerwm4 <wm4@nowhere>2014-12-27 12:24:44 +0100
commit77a4a87e7eb822cefe07bfed5394a13e97faddbb (patch)
treebd202f9c7417dd8ac228c172f27b08054c4c8cf9
parent6659de707b45ea96e6b8cad142c825929aa926e7 (diff)
downloadmpv-77a4a87e7eb822cefe07bfed5394a13e97faddbb.tar.bz2
mpv-77a4a87e7eb822cefe07bfed5394a13e97faddbb.tar.xz
player: fix random crashes on uninitialization
On uninitialization, the player will unselect all subtitles, and then destroy the subtitle decoder. But it didn't correctly remove the subtitle decoder from the OSD state, so it could happen that it would access it after the decoder was destroyed. Could lead to random crashes when switching files often. Fixes #1389.
-rw-r--r--player/sub.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/player/sub.c b/player/sub.c
index 26c25b5f10..f2738864f3 100644
--- a/player/sub.c
+++ b/player/sub.c
@@ -163,6 +163,7 @@ void uninit_sub(struct MPContext *mpctx, int order)
if (mpctx->d_sub[order]) {
reset_subtitles(mpctx, order);
mpctx->d_sub[order] = NULL; // Note: not free'd.
+ update_osd_sub_state(mpctx, order, NULL); // unset
reselect_demux_streams(mpctx);
}
}