]> git.sesse.net Git - vlc/blobdiff - src/video_output/video_output.c
Fixed invalid pointer usage after free (vout).
[vlc] / src / video_output / video_output.c
index 66080d20bb43fced701dd122dd19cb4c2e1d5be6..04832b24c7ee7b49215daeddb1aeb36ee5d2fb56 100644 (file)
@@ -1048,9 +1048,6 @@ static int ThreadStart(vout_thread_t *vout, const vout_display_state_t *state)
 
 static void ThreadStop(vout_thread_t *vout, vout_display_state_t *state)
 {
-    /* Destroy the video filters2 */
-    filter_chain_Delete(vout->p->filter.chain);
-
     /* Destroy translation tables */
     if (vout->p->display.vd) {
         if (vout->p->decoder_pool) {
@@ -1060,6 +1057,9 @@ static void ThreadStop(vout_thread_t *vout, vout_display_state_t *state)
         vout_CloseWrapper(vout, state);
     }
 
+    /* Destroy the video filters2 */
+    filter_chain_Delete(vout->p->filter.chain);
+
     if (vout->p->decoder_fifo)
         picture_fifo_Delete(vout->p->decoder_fifo);
     assert(!vout->p->decoder_pool);