summaryrefslogtreecommitdiffstats
path: root/player/client.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-09-20 15:31:25 +0200
committerwm4 <wm4@nowhere>2016-09-20 15:44:11 +0200
commitbf385e1140069fb1c6d41161aece0fe099513ac0 (patch)
treebebb5b971fa22a2d15992cecbd9a501b09b2e1b5 /player/client.c
parentfe872f56884a3a5c506d49d9601713d0e6de1973 (diff)
downloadmpv-bf385e1140069fb1c6d41161aece0fe099513ac0.tar.bz2
mpv-bf385e1140069fb1c6d41161aece0fe099513ac0.tar.xz
player: kill associated OSD and key bindings when removing a script
The former was done already for Lua scripts, but move it to the generic code.
Diffstat (limited to 'player/client.c')
-rw-r--r--player/client.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/player/client.c b/player/client.c
index f95ad372b5..51cc0c9dac 100644
--- a/player/client.c
+++ b/player/client.c
@@ -416,6 +416,8 @@ void mpv_detach_destroy(mpv_handle *ctx)
ctx->num_events--;
}
mp_msg_log_buffer_destroy(ctx->messages);
+ osd_set_external(ctx->mpctx->osd, ctx, 0, 0, NULL);
+ mp_input_remove_sections_by_owner(ctx->mpctx->input, ctx->name);
pthread_cond_destroy(&ctx->wakeup);
pthread_mutex_destroy(&ctx->wakeup_lock);
pthread_mutex_destroy(&ctx->lock);
@@ -759,6 +761,9 @@ mpv_event *mpv_wait_event(mpv_handle *ctx, double timeout)
{
mpv_event *event = ctx->cur_event;
+ if (!ctx->mpctx->initialized)
+ return NULL;
+
pthread_mutex_lock(&ctx->lock);
if (!ctx->fuzzy_initialized)