mirror of
https://github.com/mpv-player/mpv
synced 2024-09-28 17:52:52 +02:00
command: remove hook cancellation mechanism
I doubt anyone will actually use this correctly. Also, there was a bug (a typo) which prevented it from working at all.
This commit is contained in:
parent
a67be5dd05
commit
b79f291f4b
@ -128,7 +128,7 @@ static bool send_hook_msg(struct MPContext *mpctx, struct hook_handler *h,
|
||||
{
|
||||
mpv_event_client_message *m = talloc_ptrtype(NULL, m);
|
||||
*m = (mpv_event_client_message){0};
|
||||
MP_TARRAY_APPEND(m, m->args, m->num_args, "hook_run");
|
||||
MP_TARRAY_APPEND(m, m->args, m->num_args, cmd);
|
||||
MP_TARRAY_APPEND(m, m->args, m->num_args, talloc_strdup(m, h->user_id));
|
||||
MP_TARRAY_APPEND(m, m->args, m->num_args, talloc_strdup(m, h->type));
|
||||
bool r =
|
||||
@ -163,16 +163,6 @@ void mp_hook_run(struct MPContext *mpctx, char *client, char *type)
|
||||
send_hook_msg(mpctx, next, "hook_run");
|
||||
}
|
||||
|
||||
void mp_hook_abort(struct MPContext *mpctx, char *type)
|
||||
{
|
||||
struct command_ctx *cmd = mpctx->command_ctx;
|
||||
for (int n = 0; n < cmd->num_hooks; n++) {
|
||||
struct hook_handler *h = cmd->hooks[n];
|
||||
if (h->active && strcmp(h->type, type) == 0)
|
||||
send_hook_msg(mpctx, h, "hook_abort");
|
||||
}
|
||||
}
|
||||
|
||||
static int compare_hook(const void *pa, const void *pb)
|
||||
{
|
||||
struct hook_handler **h1 = (void *)pa;
|
||||
|
@ -45,6 +45,5 @@ uint64_t mp_get_property_event_mask(const char *name);
|
||||
|
||||
bool mp_hook_test_completion(struct MPContext *mpctx, char *type);
|
||||
void mp_hook_run(struct MPContext *mpctx, char *client, char *type);
|
||||
void mp_hook_abort(struct MPContext *mpctx, char *type);
|
||||
|
||||
#endif /* MPLAYER_COMMAND_H */
|
||||
|
@ -802,11 +802,10 @@ static int process_open_hooks(struct MPContext *mpctx)
|
||||
while (!mp_hook_test_completion(mpctx, "on_load")) {
|
||||
mp_idle(mpctx);
|
||||
if (mpctx->stop_play) {
|
||||
if (mpctx->stop_play == PT_QUIT)
|
||||
return -1;
|
||||
// Can't exit immediately, the script would interfere with the
|
||||
// next file being loaded.
|
||||
mp_hook_abort(mpctx, "on_load");
|
||||
if (mpctx->stop_play == PT_QUIT)
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user