1
0
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:
Bram Moolenaar
2011-09-14 14:43:25 +02:00
parent 52af96527c
commit a971b82b16
5 changed files with 39 additions and 15 deletions

View File

@@ -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