[BACK]Return to server-client.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/server-client.c between version 1.136 and 1.137

version 1.136, 2015/04/25 18:33:59 version 1.137, 2015/05/06 07:52:06
Line 875 
Line 875 
 server_client_check_redraw(struct client *c)  server_client_check_redraw(struct client *c)
 {  {
         struct session          *s = c->session;          struct session          *s = c->session;
           struct tty              *tty = &c->tty;
         struct window_pane      *wp;          struct window_pane      *wp;
         int                      flags, redraw;          int                      flags, redraw;
   
         if (c->flags & (CLIENT_CONTROL|CLIENT_SUSPENDED))          if (c->flags & (CLIENT_CONTROL|CLIENT_SUSPENDED))
                 return;                  return;
   
         flags = c->tty.flags & TTY_FREEZE;  
         c->tty.flags &= ~TTY_FREEZE;  
   
         if (c->flags & (CLIENT_REDRAW|CLIENT_STATUS)) {          if (c->flags & (CLIENT_REDRAW|CLIENT_STATUS)) {
                 if (options_get_number(&s->options, "set-titles"))                  if (options_get_number(&s->options, "set-titles"))
                         server_client_set_title(c);                          server_client_set_title(c);
Line 898 
Line 896 
                         c->flags &= ~CLIENT_STATUS;                          c->flags &= ~CLIENT_STATUS;
         }          }
   
           flags = tty->flags & (TTY_FREEZE|TTY_NOCURSOR);
           tty->flags = (tty->flags & ~TTY_FREEZE) | TTY_NOCURSOR;
   
         if (c->flags & CLIENT_REDRAW) {          if (c->flags & CLIENT_REDRAW) {
                   tty_update_mode(tty, tty->mode, NULL);
                 screen_redraw_screen(c, 1, 1, 1);                  screen_redraw_screen(c, 1, 1, 1);
                 c->flags &= ~(CLIENT_STATUS|CLIENT_BORDERS);                  c->flags &= ~(CLIENT_STATUS|CLIENT_BORDERS);
         } else if (c->flags & CLIENT_REDRAWWINDOW) {          } else if (c->flags & CLIENT_REDRAWWINDOW) {
                   tty_update_mode(tty, tty->mode, NULL);
                 TAILQ_FOREACH(wp, &c->session->curw->window->panes, entry)                  TAILQ_FOREACH(wp, &c->session->curw->window->panes, entry)
                         screen_redraw_pane(c, wp);                          screen_redraw_pane(c, wp);
                 c->flags &= ~CLIENT_REDRAWWINDOW;                  c->flags &= ~CLIENT_REDRAWWINDOW;
         } else {          } else {
                 TAILQ_FOREACH(wp, &c->session->curw->window->panes, entry) {                  TAILQ_FOREACH(wp, &c->session->curw->window->panes, entry) {
                         if (wp->flags & PANE_REDRAW)                          if (wp->flags & PANE_REDRAW) {
                                   tty_update_mode(tty, tty->mode, NULL);
                                 screen_redraw_pane(c, wp);                                  screen_redraw_pane(c, wp);
                           }
                 }                  }
         }          }
   
         if (c->flags & CLIENT_BORDERS)          if (c->flags & CLIENT_BORDERS) {
                   tty_update_mode(tty, tty->mode, NULL);
                 screen_redraw_screen(c, 0, 0, 1);                  screen_redraw_screen(c, 0, 0, 1);
           }
   
         if (c->flags & CLIENT_STATUS)          if (c->flags & CLIENT_STATUS) {
                   tty_update_mode(tty, tty->mode, NULL);
                 screen_redraw_screen(c, 0, 1, 0);                  screen_redraw_screen(c, 0, 1, 0);
           }
   
         c->tty.flags |= flags;          tty->flags = (tty->flags & ~(TTY_FREEZE|TTY_NOCURSOR)) | flags;
           tty_update_mode(tty, tty->mode, NULL);
   
         c->flags &= ~(CLIENT_REDRAW|CLIENT_STATUS|CLIENT_BORDERS);          c->flags &= ~(CLIENT_REDRAW|CLIENT_STATUS|CLIENT_BORDERS);
 }  }

Legend:
Removed from v.1.136  
changed lines
  Added in v.1.137