forked from aniani/vim
updated for version 7.2.359
Problem: Crash when using the Netbeans join command. Solution: Make sure the ml_flush_line() function is not used recursively. (Xavier de Gaye)
This commit is contained in:
@@ -3087,12 +3087,19 @@ ml_flush_line(buf)
|
|||||||
int start;
|
int start;
|
||||||
int count;
|
int count;
|
||||||
int i;
|
int i;
|
||||||
|
static int entered = FALSE;
|
||||||
|
|
||||||
if (buf->b_ml.ml_line_lnum == 0 || buf->b_ml.ml_mfp == NULL)
|
if (buf->b_ml.ml_line_lnum == 0 || buf->b_ml.ml_mfp == NULL)
|
||||||
return; /* nothing to do */
|
return; /* nothing to do */
|
||||||
|
|
||||||
if (buf->b_ml.ml_flags & ML_LINE_DIRTY)
|
if (buf->b_ml.ml_flags & ML_LINE_DIRTY)
|
||||||
{
|
{
|
||||||
|
/* This code doesn't work recursively, but Netbeans may call back here
|
||||||
|
* when obtaining the cursor position. */
|
||||||
|
if (entered)
|
||||||
|
return;
|
||||||
|
entered = TRUE;
|
||||||
|
|
||||||
lnum = buf->b_ml.ml_line_lnum;
|
lnum = buf->b_ml.ml_line_lnum;
|
||||||
new_line = buf->b_ml.ml_line_ptr;
|
new_line = buf->b_ml.ml_line_ptr;
|
||||||
|
|
||||||
@@ -3160,6 +3167,8 @@ ml_flush_line(buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
vim_free(new_line);
|
vim_free(new_line);
|
||||||
|
|
||||||
|
entered = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
buf->b_ml.ml_line_lnum = 0;
|
buf->b_ml.ml_line_lnum = 0;
|
||||||
|
@@ -681,6 +681,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
359,
|
||||||
/**/
|
/**/
|
||||||
358,
|
358,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user