diff src/redisplay-msw.c @ 263:727739f917cb r20-5b30

Import from CVS: tag r20-5b30
author cvs
date Mon, 13 Aug 2007 10:24:41 +0200
parents 157b30c96d03
children 8efd647ea9ca
line wrap: on
line diff
--- a/src/redisplay-msw.c	Mon Aug 13 10:23:52 2007 +0200
+++ b/src/redisplay-msw.c	Mon Aug 13 10:24:41 2007 +0200
@@ -324,6 +324,7 @@
   int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d));
   HDC hdc = FRAME_MSWINDOWS_DC (f);
   int real_char_p = (rb->type == RUNE_CHAR && rb->object.chr.ch != '\n');
+  unsigned int face_index=0;
   char *p_char = NULL;
   int n_char = 0;
   RECT rect = { xpos,
@@ -352,10 +353,8 @@
 
   /* Use cursor fg/bg for block cursor, or character fg/bg for the bar.
      Output nothing at eol if bar cursor */
-  cachel = WINDOW_FACE_CACHEL (w,
-		   (bar_p
-		   ? rb->findex
-		   : get_builtin_face_cache_index (w, Vtext_cursor_face)));
+  face_index = get_builtin_face_cache_index (w, Vtext_cursor_face);
+  cachel = WINDOW_FACE_CACHEL (w, (bar_p ? rb->findex : face_index));
   mswindows_update_dc (hdc, font, cachel->foreground,
 		       cachel->background, Qnil);
   ExtTextOut (hdc, xpos, dl->ypos, ETO_OPAQUE|ETO_CLIPPED, &rect, p_char, n_char, NULL);
@@ -363,8 +362,8 @@
   if (focus && bar_p)
     {
       rect.right = rect.left + (EQ (bar, Qt) ? 1 : 2);
-      cachel = WINDOW_FACE_CACHEL (w,
-		 get_builtin_face_cache_index (w, Vtext_cursor_face));
+      face_index = get_builtin_face_cache_index (w, Vtext_cursor_face);
+      cachel = WINDOW_FACE_CACHEL (w, face_index);
       mswindows_update_dc (hdc, Qnil, Qnil, cachel->background, Qnil);
       ExtTextOut (hdc, xpos, dl->ypos, ETO_OPAQUE, &rect, NULL, 0, NULL);
     }
@@ -381,8 +380,8 @@
 	  n_char = 1;
 	}
 
-      cachel = WINDOW_FACE_CACHEL (w, (real_char_p ? rb->findex
-				       : get_builtin_face_cache_index (w, Vdefault_face)));
+      face_index = get_builtin_face_cache_index (w, Vdefault_face);
+      cachel = WINDOW_FACE_CACHEL (w, (real_char_p ? rb->findex : face_index));
       mswindows_update_dc (hdc, Qnil, cachel->foreground,
 			   cachel->background, Qnil);
       ExtTextOut (hdc, xpos, dl->ypos, ETO_OPAQUE | ETO_CLIPPED,