[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.216 and 1.217

version 1.216, 2018/12/18 13:20:44 version 1.217, 2019/03/07 20:24:21
Line 811 
Line 811 
         wp->event = NULL;          wp->event = NULL;
   
         wp->mode = NULL;          wp->mode = NULL;
         wp->modeprefix = 1;  
   
         wp->layout_cell = NULL;          wp->layout_cell = NULL;
   
Line 1054 
Line 1053 
         wp->sy = sy;          wp->sy = sy;
   
         screen_resize(&wp->base, sx, sy, wp->saved_grid == NULL);          screen_resize(&wp->base, sx, sy, wp->saved_grid == NULL);
         if (wp->mode != NULL)          if (wp->mode != NULL && wp->mode->mode->resize != NULL)
                 wp->mode->resize(wp, sx, sy);                  wp->mode->mode->resize(wp->mode, sx, sy);
   
         wp->flags |= PANE_RESIZE;          wp->flags |= PANE_RESIZE;
 }  }
Line 1222 
Line 1221 
   
         if (wp->mode != NULL)          if (wp->mode != NULL)
                 return (1);                  return (1);
         wp->mode = mode;  
   
           wp->mode = xcalloc(1, sizeof *wp->mode);
           wp->mode->wp = wp;
           wp->mode->mode = mode;
           wp->mode->prefix = 1;
   
         wp->modelast = time(NULL);          wp->modelast = time(NULL);
         evtimer_set(&wp->modetimer, window_pane_mode_timer, wp);          evtimer_set(&wp->modetimer, window_pane_mode_timer, wp);
         evtimer_add(&wp->modetimer, &tv);          evtimer_add(&wp->modetimer, &tv);
   
         if ((s = wp->mode->init(wp, fs, args)) != NULL)          if ((s = wp->mode->mode->init(wp->mode, fs, args)) != NULL)
                 wp->screen = s;                  wp->screen = s;
         wp->flags |= (PANE_REDRAW|PANE_CHANGED);          wp->flags |= (PANE_REDRAW|PANE_CHANGED);
   
Line 1245 
Line 1248 
   
         evtimer_del(&wp->modetimer);          evtimer_del(&wp->modetimer);
   
         wp->mode->free(wp);          wp->mode->mode->free(wp->mode);
           free(wp->mode);
         wp->mode = NULL;          wp->mode = NULL;
         wp->modeprefix = 1;  
   
         wp->screen = &wp->base;          wp->screen = &wp->base;
         wp->flags |= (PANE_REDRAW|PANE_CHANGED);          wp->flags |= (PANE_REDRAW|PANE_CHANGED);
Line 1260 
Line 1263 
 window_pane_key(struct window_pane *wp, struct client *c, struct session *s,  window_pane_key(struct window_pane *wp, struct client *c, struct session *s,
     struct winlink *wl, key_code key, struct mouse_event *m)      struct winlink *wl, key_code key, struct mouse_event *m)
 {  {
         struct window_pane      *wp2;          struct window_mode_entry        *wme = wp->mode;
           struct window_pane              *wp2;
   
         if (KEYC_IS_MOUSE(key) && m == NULL)          if (KEYC_IS_MOUSE(key) && m == NULL)
                 return;                  return;
   
         if (wp->mode != NULL) {          if (wme != NULL) {
                 wp->modelast = time(NULL);                  wp->modelast = time(NULL);
                 if (wp->mode->key != NULL)                  if (wme->mode->key != NULL)
                         wp->mode->key(wp, c, s, wl, (key & ~KEYC_XTERM), m);                          wme->mode->key(wme, c, s, wl, (key & ~KEYC_XTERM), m);
                 return;                  return;
         }          }
   

Legend:
Removed from v.1.216  
changed lines
  Added in v.1.217