=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/server-fn.c,v retrieving revision 1.98 retrieving revision 1.99 diff -u -r1.98 -r1.99 --- src/usr.bin/tmux/server-fn.c 2016/01/19 15:59:12 1.98 +++ src/usr.bin/tmux/server-fn.c 2016/06/16 10:55:47 1.99 @@ -1,4 +1,4 @@ -/* $OpenBSD: server-fn.c,v 1.98 2016/01/19 15:59:12 nicm Exp $ */ +/* $OpenBSD: server-fn.c,v 1.99 2016/06/16 10:55:47 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -441,21 +441,23 @@ } void -server_clear_identify(struct client *c) +server_clear_identify(struct client *c, struct window_pane *wp) { - if (c->flags & CLIENT_IDENTIFY) { - c->flags &= ~CLIENT_IDENTIFY; - c->tty.flags &= ~(TTY_FREEZE|TTY_NOCURSOR); - server_redraw_client(c); - } + if (~c->flags & CLIENT_IDENTIFY) + return; + c->flags &= ~CLIENT_IDENTIFY; + + if (c->identify_callback != NULL) + c->identify_callback(c, wp); + + c->tty.flags &= ~(TTY_FREEZE|TTY_NOCURSOR); + server_redraw_client(c); } void server_callback_identify(__unused int fd, __unused short events, void *data) { - struct client *c = data; - - server_clear_identify(c); + server_clear_identify(data, NULL); } /* Set stdin callback. */