aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--popup.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/popup.c b/popup.c
index 826e1571..81ae0347 100644
--- a/popup.c
+++ b/popup.c
@@ -367,6 +367,7 @@ popup_job_update_cb(struct job *job)
{
struct popup_data *pd = job_get_data(job);
struct evbuffer *evb = job_get_event(job)->input;
+ struct client *c = pd->c;
struct screen *s = &pd->s;
void *data = EVBUFFER_DATA(evb);
size_t size = EVBUFFER_LENGTH(evb);
@@ -374,9 +375,13 @@ popup_job_update_cb(struct job *job)
if (size == 0)
return;
- pd->c->tty.flags &= ~TTY_FREEZE;
+ c->overlay_check = NULL;
+ c->tty.flags &= ~TTY_FREEZE;
+
input_parse_screen(pd->ictx, s, popup_init_ctx_cb, pd, data, size);
- pd->c->tty.flags |= TTY_FREEZE;
+
+ c->tty.flags |= TTY_FREEZE;
+ c->overlay_check = popup_check_cb;
evbuffer_drain(evb, size);
}