On Mon, Nov 26, 2018 at 11:55:14AM +0000, 'Jonathon Fernyhough' via vim_dev 
wrote:
> On 26/11/2018 10:54, Christian Brabandt wrote:
> > On Mo, 26 Nov 2018, Christian Brabandt wrote:
> >> This looks very similar to the crash posted here:
> >> https://github.com/vim/vim/pull/2107#issuecomment-418816582
> >>
> >> I guess the redrawing() function is being called again, that triggers 
> >> the win_free() and will make curwin invalid. 
> >>
> >> Perhaps we do need a patch similar to this one 
> >> https://github.com/vim/vim/pull/2107#issuecomment-418882802
> > 
> > How about the following patch:
> > 
> > diff --git a/src/move.c b/src/move.c
> > index 68404e3f7..c25d6271f 100644
> > --- a/src/move.c
> > +++ b/src/move.c
> > @@ -687,6 +687,8 @@ validate_cline_row(void)
> >  /*
> >   * Compute wp->w_cline_row and wp->w_cline_height, based on the current 
> > value
> >   * of wp->w_topline.
> > + * Might cause processing of async messages.
> > + * If async causes wp to become invalid, uses curwin
> >   */
> >      static void
> >  curs_rows(win_T *wp)
> > @@ -699,10 +701,16 @@ curs_rows(win_T *wp)
> >      long       fold_count;
> >  #endif
> > 
> > -    /* Check if wp->w_lines[].wl_size is invalid */
> > -    all_invalid = (!redrawing()
> > -                       || wp->w_lines_valid == 0
> > -                       || wp->w_lines[0].wl_lnum > wp->w_topline);
> > +    // Check if wp->w_lines[].wl_size is invalid
> > +    all_invalid = (wp->w_lines_valid == 0
> > +                       || wp->w_lines[0].wl_lnum > wp->w_topline
> > +                       || !redrawing());
> > +
> > +    // redrawing might have processed async messages,
> > +    // causing wp to become invalid
> > +    if (!win_valid(wp))
> > +       wp = curwin;
> > +
> >      i = 0;
> >      wp->w_cline_row = 0;
> >      for (lnum = wp->w_topline; lnum < wp->w_cursor.lnum; ++i)
> > 
> > 
> > Best,
> > Christian
> > 
> 
> That patch fixes building on Launchpad:
> https://launchpad.net/~jonathonf/+archive/ubuntu/vim-staging/+build/15706279

My local builds are fixed now, too.

Cheers,
-- 
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7  2D23 DFE6 91AE 331B A3DB

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui