[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.320 and 1.321

version 1.320, 2020/04/17 22:16:28 version 1.321, 2020/04/18 06:10:15
Line 1681 
Line 1681 
         struct session          *s = c->session;          struct session          *s = c->session;
         struct tty              *tty = &c->tty;          struct tty              *tty = &c->tty;
         struct window_pane      *wp;          struct window_pane      *wp;
         int                      needed, flags, mode = tty->mode;          int                      needed, flags, mode = tty->mode, new_flags = 0;
         struct timeval           tv = { .tv_usec = 1000 };          struct timeval           tv = { .tv_usec = 1000 };
         static struct event      ev;          static struct event      ev;
         size_t                   left;          size_t                   left;
Line 1689 
Line 1689 
         if (c->flags & (CLIENT_CONTROL|CLIENT_SUSPENDED))          if (c->flags & (CLIENT_CONTROL|CLIENT_SUSPENDED))
                 return;                  return;
         if (c->flags & CLIENT_ALLREDRAWFLAGS) {          if (c->flags & CLIENT_ALLREDRAWFLAGS) {
                 log_debug("%s: redraw%s%s%s%s", c->name,                  log_debug("%s: redraw%s%s%s%s%s", c->name,
                     (c->flags & CLIENT_REDRAWWINDOW) ? " window" : "",                      (c->flags & CLIENT_REDRAWWINDOW) ? " window" : "",
                     (c->flags & CLIENT_REDRAWSTATUS) ? " status" : "",                      (c->flags & CLIENT_REDRAWSTATUS) ? " status" : "",
                     (c->flags & CLIENT_REDRAWBORDERS) ? " borders" : "",                      (c->flags & CLIENT_REDRAWBORDERS) ? " borders" : "",
                     (c->flags & CLIENT_REDRAWOVERLAY) ? " overlay" : "");                      (c->flags & CLIENT_REDRAWOVERLAY) ? " overlay" : "",
                       (c->flags & CLIENT_REDRAWPANES) ? " panes" : "");
         }          }
   
         /*          /*
Line 1711 
Line 1712 
                                 break;                                  break;
                         }                          }
                 }                  }
                   if (needed)
                           new_flags |= CLIENT_REDRAWPANES;
         }          }
         if (needed && (left = EVBUFFER_LENGTH(tty->out)) != 0) {          if (needed && (left = EVBUFFER_LENGTH(tty->out)) != 0) {
                 log_debug("%s: redraw deferred (%zu left)", c->name, left);                  log_debug("%s: redraw deferred (%zu left)", c->name, left);
Line 1720 
Line 1723 
                         log_debug("redraw timer started");                          log_debug("redraw timer started");
                         evtimer_add(&ev, &tv);                          evtimer_add(&ev, &tv);
                 }                  }
                   c->flags |= new_flags;
                 /*  
                  * We may have got here for a single pane redraw, but force a  
                  * full redraw next time in case other panes have been updated.  
                  */  
                 c->flags |= CLIENT_ALLREDRAWFLAGS;  
                 return;                  return;
         } else if (needed)          } else if (needed)
                 log_debug("%s: redraw needed", c->name);                  log_debug("%s: redraw needed", c->name);
Line 1741 
Line 1739 
                  */                   */
                 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) {
                                   log_debug("%s: redrawing pane %%%u", __func__, wp->id);
                                 tty_update_mode(tty, tty->mode, NULL);                                  tty_update_mode(tty, tty->mode, NULL);
                                 screen_redraw_pane(c, wp);                                  screen_redraw_pane(c, wp);
                         }                          }
                 }                  }
                   c->flags &= ~CLIENT_REDRAWPANES;
         }          }
   
         if (c->flags & CLIENT_ALLREDRAWFLAGS) {          if (c->flags & CLIENT_ALLREDRAWFLAGS) {

Legend:
Removed from v.1.320  
changed lines
  Added in v.1.321