diff options
author | nicm <nicm> | 2020-04-14 06:00:52 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-04-14 06:00:52 +0000 |
commit | 63ec7918542a36ac9afa60b2e91f75337c5a91ff (patch) | |
tree | 2db8afeeaa9aef3734b0cbed62f423d690c09ab4 /notify.c | |
parent | fc83517913c8280c222a6cf78ca7fb8053421b37 (diff) | |
download | rtmux-63ec7918542a36ac9afa60b2e91f75337c5a91ff.tar.gz rtmux-63ec7918542a36ac9afa60b2e91f75337c5a91ff.tar.bz2 rtmux-63ec7918542a36ac9afa60b2e91f75337c5a91ff.zip |
Provide an accessor for the running queue item and use it to not let
hooks recurse.
Diffstat (limited to 'notify.c')
-rw-r--r-- | notify.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -158,7 +158,11 @@ notify_add(const char *name, struct cmd_find_state *fs, struct client *c, struct session *s, struct window *w, struct window_pane *wp) { struct notify_entry *ne; - struct cmdq_item *new_item; + struct cmdq_item *item; + + item = cmdq_running(NULL); + if (item != NULL && (cmdq_get_flags(item) & CMDQ_STATE_NOHOOKS)) + return; ne = xcalloc(1, sizeof *ne); ne->name = xstrdup(name); @@ -183,8 +187,7 @@ notify_add(const char *name, struct cmd_find_state *fs, struct client *c, if (ne->fs.s != NULL) /* cmd_find_valid_state needs session */ session_add_ref(ne->fs.s, __func__); - new_item = cmdq_get_callback(notify_callback, ne); - cmdq_append(NULL, new_item); + cmdq_append(NULL, cmdq_get_callback(notify_callback, ne)); } void |