changeset 41990:ea97be55d899

(CLEAR_FACE_CACHE_COUNT): Redefine as 500. (redisplay_internal): Call clear_image_cache only for window terminals.
author Richard M. Stallman <rms@gnu.org>
date Wed, 12 Dec 2001 22:27:28 +0000
parents fd3c70d7a093
children 2bb15a844859
files src/xdisp.c
diffstat 1 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Wed Dec 12 20:07:32 2001 +0000
+++ b/src/xdisp.c	Wed Dec 12 22:27:28 2001 +0000
@@ -7231,7 +7231,7 @@
 	 frame_title_ptr so that display_mode_element will output into it;
 	 then display the title.  */
       obuf = current_buffer;
-      Fset_buffer (XWINDOW (f->selected_window)->buffer);
+      set_buffer_internal_1 (XBUFFER (XWINDOW (f->selected_window)->buffer));
       fmt = FRAME_ICONIFIED_P (f) ? Vicon_title_format : Vframe_title_format;
       frame_title_ptr = frame_title_buf;
       init_iterator (&it, XWINDOW (f->selected_window), -1, -1,
@@ -7239,7 +7239,7 @@
       display_mode_element (&it, 0, -1, -1, fmt);
       len = frame_title_ptr - frame_title_buf;
       frame_title_ptr = NULL;
-      set_buffer_internal (obuf);
+      set_buffer_internal_1 (obuf);
 
       /* Set the title only if it's changed.  This avoids consing in
 	 the common case where it hasn't.  (If it turns out that we've
@@ -8186,7 +8186,7 @@
    Every CLEAR_FACE_CACHE_COUNT full redisplays, the face cache is
    cleared.  */
 
-#define CLEAR_FACE_CACHE_COUNT	10000
+#define CLEAR_FACE_CACHE_COUNT	500
 static int clear_face_cache_count;
 
 /* Record the previous terminal frame we displayed.  */
@@ -8813,6 +8813,10 @@
 	  
 	  if (FRAME_WINDOW_P (f) || f == sf)
 	    {
+	      if (clear_face_cache_count % 50 == 0
+		  && FRAME_WINDOW_P (f))
+		clear_image_cache (f, 0);
+
 	      /* Mark all the scroll bars to be removed; we'll redeem
 		 the ones we want when we redisplay their windows.  */
 	      if (condemn_scroll_bars_hook)