Karsten Hopp 81c285
To: vim-dev@vim.org
Karsten Hopp 81c285
Subject: Patch 7.2.207
Karsten Hopp 81c285
Fcc: outbox
Karsten Hopp 81c285
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 81c285
Mime-Version: 1.0
Karsten Hopp 81c285
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 81c285
Content-Transfer-Encoding: 8bit
Karsten Hopp 81c285
------------
Karsten Hopp 81c285
Karsten Hopp 81c285
Patch 7.2.207
Karsten Hopp 81c285
Problem:    Using freed memory with ":redrawstatus" when it works recursively.
Karsten Hopp 81c285
Solution:   Prevent recursively updating the status line. (partly by Dominique
Karsten Hopp 81c285
	    Pelle)
Karsten Hopp 81c285
Files:	    src/screen.c
Karsten Hopp 81c285
Karsten Hopp 81c285
Karsten Hopp 81c285
*** ../vim-7.2.206/src/screen.c	2009-06-16 16:01:34.000000000 +0200
Karsten Hopp 81c285
--- src/screen.c	2009-06-16 17:04:53.000000000 +0200
Karsten Hopp 81c285
***************
Karsten Hopp 81c285
*** 5743,5748 ****
Karsten Hopp 81c285
--- 5743,5755 ----
Karsten Hopp 81c285
      int		fillchar;
Karsten Hopp 81c285
      int		attr;
Karsten Hopp 81c285
      int		this_ru_col;
Karsten Hopp 81c285
+     static int  busy = FALSE;
Karsten Hopp 81c285
+ 
Karsten Hopp 81c285
+     /* It's possible to get here recursively when 'statusline' (indirectly)
Karsten Hopp 81c285
+      * invokes ":redrawstatus".  Simply ignore the call then. */
Karsten Hopp 81c285
+     if (busy)
Karsten Hopp 81c285
+ 	return;
Karsten Hopp 81c285
+     busy = TRUE;
Karsten Hopp 81c285
  
Karsten Hopp 81c285
      wp->w_redr_status = FALSE;
Karsten Hopp 81c285
      if (wp->w_status_height == 0)
Karsten Hopp 81c285
***************
Karsten Hopp 81c285
*** 5881,5886 ****
Karsten Hopp 81c285
--- 5888,5894 ----
Karsten Hopp 81c285
  									attr);
Karsten Hopp 81c285
      }
Karsten Hopp 81c285
  #endif
Karsten Hopp 81c285
+     busy = FALSE;
Karsten Hopp 81c285
  }
Karsten Hopp 81c285
  
Karsten Hopp 81c285
  #ifdef FEAT_STL_OPT
Karsten Hopp 81c285
*** ../vim-7.2.206/src/version.c	2009-06-16 16:57:53.000000000 +0200
Karsten Hopp 81c285
--- src/version.c	2009-06-16 17:21:56.000000000 +0200
Karsten Hopp 81c285
***************
Karsten Hopp 81c285
*** 678,679 ****
Karsten Hopp 81c285
--- 678,681 ----
Karsten Hopp 81c285
  {   /* Add new patch number below this line */
Karsten Hopp 81c285
+ /**/
Karsten Hopp 81c285
+     207,
Karsten Hopp 81c285
  /**/
Karsten Hopp 81c285
Karsten Hopp 81c285
-- 
Karsten Hopp 81c285
In many of the more relaxed civilizations on the Outer Eastern Rim of the
Karsten Hopp 81c285
Galaxy, "The Hitchhiker's Guide to the Galaxy" has already supplanted the
Karsten Hopp 81c285
great "Encyclopedia Galactica" as the standard repository of all knowledge
Karsten Hopp 81c285
and wisdom, for though it has many omissions and contains much that is
Karsten Hopp 81c285
apocryphal, or at least wildly inaccurate, it scores over the older, more
Karsten Hopp 81c285
pedestrian work in two important respects.
Karsten Hopp 81c285
First, it is slightly cheaper; and second, it has the words "DON'T PANIC"
Karsten Hopp 81c285
inscribed in large friendly letters on its cover.
Karsten Hopp 81c285
		-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
Karsten Hopp 81c285
Karsten Hopp 81c285
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 81c285
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 81c285
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp 81c285
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///