diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index 7d370bf629d7c8f7fa02eea01802ca7534c2ab5d..0ef179d0596cf85f1a66e618f14587cedaffe30a 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -1605,10 +1605,8 @@ void vout_Close(vout_thread_t *vout) vout_chrono_Clean(&sys->render); - vlc_mutex_lock(&sys->window_lock); + vlc_mutex_destroy(&sys->window_lock); vout_display_window_Delete(sys->display_cfg.window); - sys->display_cfg.window = NULL; - vlc_mutex_unlock(&sys->window_lock); vlc_mutex_lock(&sys->spu_lock); spu_Destroy(sys->spu); diff --git a/src/video_output/vout_internal.h b/src/video_output/vout_internal.h index ee4ce6746335d3c7c2c1850f58e737f4968a112f..e51ed7acafa7ade702341b033729dd8f383d3720 100644 --- a/src/video_output/vout_internal.h +++ b/src/video_output/vout_internal.h @@ -166,6 +166,7 @@ struct vout_thread_sys_t vlc_mutex_t window_lock; /* Video output display */ + vlc_mutex_t display_lock; vout_display_cfg_t display_cfg; vout_display_t *display;