forked from aniani/vim
updated for version 7.3.306
Problem: When closing a window there is a chance that deleting a scrollbar
triggers a GUI resize, which uses the window while it is not in a
valid state.
Solution: Set the buffer pointer to NULL to be able to detect the invalid
situation. Fix a few places that used the buffer pointer
incorrectly.
This commit is contained in:
10
src/term.c
10
src/term.c
@@ -3017,12 +3017,20 @@ set_shellsize(width, height, mustset)
|
||||
if (width < 0 || height < 0) /* just checking... */
|
||||
return;
|
||||
|
||||
if (State == HITRETURN || State == SETWSIZE) /* postpone the resizing */
|
||||
if (State == HITRETURN || State == SETWSIZE)
|
||||
{
|
||||
/* postpone the resizing */
|
||||
State = SETWSIZE;
|
||||
return;
|
||||
}
|
||||
|
||||
/* curwin->w_buffer can be NULL when we are closing a window and the
|
||||
* buffer has already been closed and removing a scrollbar causes a resize
|
||||
* event. Don't resize then, it will happen after entering another buffer.
|
||||
*/
|
||||
if (curwin->w_buffer == NULL)
|
||||
return;
|
||||
|
||||
++busy;
|
||||
|
||||
#ifdef AMIGA
|
||||
|
||||
Reference in New Issue
Block a user