# HG changeset patch # User Bram Moolenaar # Date 1290612725 -3600 # Node ID ff3a304b4ac2f672e8cc3c60795f0c79c5b191b1 # Parent a2271decbce54d46f62e7cc9a0c4e3ea3ae9080d updated for version 7.3.066 Problem: Crash when changing to another window while in a :vimgrep command. (Christian Brabandt) Solution: When wiping out the dummy before, remove it from aucmd_win. diff --git a/src/quickfix.c b/src/quickfix.c --- a/src/quickfix.c +++ b/src/quickfix.c @@ -3432,6 +3432,7 @@ load_dummy_buffer(fname) char_u *fname; { buf_T *newbuf; + buf_T *newbuf_to_wipe = NULL; int failed = TRUE; aco_save_T aco; @@ -3468,15 +3469,19 @@ load_dummy_buffer(fname) failed = FALSE; if (curbuf != newbuf) { - /* Bloody autocommands changed the buffer! */ - if (buf_valid(newbuf)) - wipe_buffer(newbuf, FALSE); + /* Bloody autocommands changed the buffer! Can happen when + * using netrw and editing a remote file. Use the current + * buffer instead, delete the dummy one after restoring the + * window stuff. */ + newbuf_to_wipe = newbuf; newbuf = curbuf; } } /* restore curwin/curbuf and a few other things */ aucmd_restbuf(&aco); + if (newbuf_to_wipe != NULL && buf_valid(newbuf_to_wipe)) + wipe_buffer(newbuf_to_wipe, FALSE); } if (!buf_valid(newbuf)) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -715,6 +715,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 66, +/**/ 65, /**/ 64,