Mercurial > vim
diff src/if_py_both.h @ 11447:698ee9d4fe9f v8.0.0607
patch 8.0.0607: after :bwipe + :new bufref might still be valid
commit https://github.com/vim/vim/commit/45e5fd135da5710f24a1acc142692f120f8b0b78
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jun 4 14:58:02 2017 +0200
patch 8.0.0607: after :bwipe + :new bufref might still be valid
Problem: When creating a bufref, then using :bwipe and :new it might get
the same memory and bufref_valid() returns true.
Solution: Add br_fnum to check the buffer number didn't change.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 04 Jun 2017 15:00:04 +0200 |
parents | e05695e59f6d |
children | 91a26b7a4119 |
line wrap: on
line diff
--- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -4311,7 +4311,7 @@ restore_win_for_buf( static int SetBufferLine(buf_T *buf, PyInt n, PyObject *line, PyInt *len_change) { - bufref_T save_curbuf = {NULL, 0}; + bufref_T save_curbuf = {NULL, 0, 0}; win_T *save_curwin = NULL; tabpage_T *save_curtab = NULL; @@ -4415,7 +4415,7 @@ SetBufferLineList( PyObject *list, PyInt *len_change) { - bufref_T save_curbuf = {NULL, 0}; + bufref_T save_curbuf = {NULL, 0, 0}; win_T *save_curwin = NULL; tabpage_T *save_curtab = NULL; @@ -4616,7 +4616,7 @@ SetBufferLineList( static int InsertBufferLines(buf_T *buf, PyInt n, PyObject *lines, PyInt *len_change) { - bufref_T save_curbuf = {NULL, 0}; + bufref_T save_curbuf = {NULL, 0, 0}; win_T *save_curwin = NULL; tabpage_T *save_curtab = NULL;