mirror of
https://github.com/tmux/tmux.git
synced 2025-09-03 14:27:09 +00:00
This is a better fix for OS X stupidity.
This commit is contained in:
12
input.c
12
input.c
@ -1,4 +1,4 @@
|
||||
/* $Id: input.c,v 1.90 2009-08-09 17:32:06 tcunha Exp $ */
|
||||
/* $OpenBSD: input.c,v 1.13 2009/08/18 21:41:13 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -235,6 +235,8 @@ input_init(struct window_pane *wp)
|
||||
ictx->saved_cy = 0;
|
||||
|
||||
input_state(ictx, input_state_first);
|
||||
|
||||
ictx->was = 0;
|
||||
}
|
||||
|
||||
void
|
||||
@ -252,8 +254,9 @@ input_parse(struct window_pane *wp)
|
||||
struct input_ctx *ictx = &wp->ictx;
|
||||
u_char ch;
|
||||
|
||||
if (BUFFER_USED(wp->in) == 0)
|
||||
if (BUFFER_USED(wp->in) == ictx->was)
|
||||
return;
|
||||
wp->window->flags |= WINDOW_ACTIVITY;
|
||||
|
||||
ictx->buf = BUFFER_OUT(wp->in);
|
||||
ictx->len = BUFFER_USED(wp->in);
|
||||
@ -261,15 +264,11 @@ input_parse(struct window_pane *wp)
|
||||
|
||||
ictx->wp = wp;
|
||||
|
||||
log_debug2("entry; buffer=%zu", ictx->len);
|
||||
|
||||
if (wp->mode == NULL)
|
||||
screen_write_start(&ictx->ctx, wp, &wp->base);
|
||||
else
|
||||
screen_write_start(&ictx->ctx, NULL, &wp->base);
|
||||
|
||||
if (ictx->off != ictx->len)
|
||||
wp->window->flags |= WINDOW_ACTIVITY;
|
||||
while (ictx->off < ictx->len) {
|
||||
ch = ictx->buf[ictx->off++];
|
||||
ictx->state(ch, ictx);
|
||||
@ -278,6 +277,7 @@ input_parse(struct window_pane *wp)
|
||||
screen_write_stop(&ictx->ctx);
|
||||
|
||||
buffer_remove(wp->in, ictx->len);
|
||||
ictx->was = BUFFER_USED(wp->in);
|
||||
}
|
||||
|
||||
void
|
||||
|
Reference in New Issue
Block a user