Blob Blame History Raw
To: vim-dev@vim.org
Subject: Patch 7.2.207
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 7.2.207
Problem:    Using freed memory with ":redrawstatus" when it works recursively.
Solution:   Prevent recursively updating the status line. (partly by Dominique
	    Pelle)
Files:	    src/screen.c


*** ../vim-7.2.206/src/screen.c	2009-06-16 16:01:34.000000000 +0200
--- src/screen.c	2009-06-16 17:04:53.000000000 +0200
***************
*** 5743,5748 ****
--- 5743,5755 ----
      int		fillchar;
      int		attr;
      int		this_ru_col;
+     static int  busy = FALSE;
+ 
+     /* It's possible to get here recursively when 'statusline' (indirectly)
+      * invokes ":redrawstatus".  Simply ignore the call then. */
+     if (busy)
+ 	return;
+     busy = TRUE;
  
      wp->w_redr_status = FALSE;
      if (wp->w_status_height == 0)
***************
*** 5881,5886 ****
--- 5888,5894 ----
  									attr);
      }
  #endif
+     busy = FALSE;
  }
  
  #ifdef FEAT_STL_OPT
*** ../vim-7.2.206/src/version.c	2009-06-16 16:57:53.000000000 +0200
--- src/version.c	2009-06-16 17:21:56.000000000 +0200
***************
*** 678,679 ****
--- 678,681 ----
  {   /* Add new patch number below this line */
+ /**/
+     207,
  /**/

-- 
In many of the more relaxed civilizations on the Outer Eastern Rim of the
Galaxy, "The Hitchhiker's Guide to the Galaxy" has already supplanted the
great "Encyclopedia Galactica" as the standard repository of all knowledge
and wisdom, for though it has many omissions and contains much that is
apocryphal, or at least wildly inaccurate, it scores over the older, more
pedestrian work in two important respects.
First, it is slightly cheaper; and second, it has the words "DON'T PANIC"
inscribed in large friendly letters on its cover.
		-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"

 /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    ///