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

Diff for /src/usr.bin/tmux/window.c between version 1.74 and 1.75

version 1.74, 2012/03/17 22:35:09 version 1.75, 2012/03/20 11:01:00
Line 61 
Line 61 
 u_int   next_window_pane_id;  u_int   next_window_pane_id;
 u_int   next_window_id;  u_int   next_window_id;
   
   void    window_pane_timer_callback(int, short, void *);
 void    window_pane_read_callback(struct bufferevent *, void *);  void    window_pane_read_callback(struct bufferevent *, void *);
 void    window_pane_error_callback(struct bufferevent *, short, void *);  void    window_pane_error_callback(struct bufferevent *, short, void *);
   
Line 648 
Line 649 
 {  {
         window_pane_reset_mode(wp);          window_pane_reset_mode(wp);
   
           event_del(&wp->changes_timer);
   
         if (wp->fd != -1) {          if (wp->fd != -1) {
                 bufferevent_free(wp->event);                  bufferevent_free(wp->event);
                 close(wp->fd);                  close(wp->fd);
Line 762 
Line 765 
         bufferevent_enable(wp->event, EV_READ|EV_WRITE);          bufferevent_enable(wp->event, EV_READ|EV_WRITE);
   
         return (0);          return (0);
   }
   
   void
   window_pane_timer_start(struct window_pane *wp)
   {
           struct timeval  tv;
   
           tv.tv_sec = 0;
           tv.tv_usec = 1000;
   
           evtimer_del(&wp->changes_timer);
           evtimer_set(&wp->changes_timer, window_pane_timer_callback, wp);
           evtimer_add(&wp->changes_timer, &tv);
   }
   
   void
   window_pane_timer_callback(unused int fd, unused short events, void *data)
   {
           struct window_pane      *wp = data;
           struct window           *w = wp->window;
           u_int                    interval, trigger;
   
           interval = options_get_number(&w->options, "c0-change-interval");
           trigger = options_get_number(&w->options, "c0-change-trigger");
   
           if (wp->changes_redraw++ == interval) {
                   wp->flags |= PANE_REDRAW;
                   wp->changes_redraw = 0;
   
           }
   
           if (trigger == 0 || wp->changes < trigger) {
                   wp->flags |= PANE_REDRAW;
                   wp->flags &= ~PANE_DROP;
           } else
                   window_pane_timer_start(wp);
           wp->changes = 0;
 }  }
   
 /* ARGSUSED */  /* ARGSUSED */

Legend:
Removed from v.1.74  
changed lines
  Added in v.1.75