components/vim/vim72-patches/7.2.359
author Danek Duvall <danek.duvall@oracle.com>
Thu, 07 Apr 2011 16:25:07 -0700
changeset 198 172fc01ce997
permissions -rw-r--r--
7016732 move vim from sfw to userland 7036367 vim is too big

To: [email protected]
Subject: Patch 7.2.359
Fcc: outbox
From: Bram Moolenaar <[email protected]>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 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)
Files:	    src/memline.c


*** ../vim-7.2.358/src/memline.c	2009-11-17 17:13:03.000000000 +0100
--- src/memline.c	2010-02-11 18:47:48.000000000 +0100
***************
*** 3087,3098 ****
--- 3087,3105 ----
      int		start;
      int		count;
      int		i;
+     static int  entered = FALSE;
  
      if (buf->b_ml.ml_line_lnum == 0 || buf->b_ml.ml_mfp == NULL)
  	return;		/* nothing to do */
  
      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;
  	new_line = buf->b_ml.ml_line_ptr;
  
***************
*** 3160,3165 ****
--- 3167,3174 ----
  	    }
  	}
  	vim_free(new_line);
+ 
+ 	entered = FALSE;
      }
  
      buf->b_ml.ml_line_lnum = 0;
*** ../vim-7.2.358/src/version.c	2010-02-11 18:19:32.000000000 +0100
--- src/version.c	2010-02-11 18:53:55.000000000 +0100
***************
*** 683,684 ****
--- 683,686 ----
  {   /* Add new patch number below this line */
+ /**/
+     359,
  /**/

-- 
Your fault: core dumped

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///