*** empty log message ***
authorhanda <handa>
Sun, 14 Mar 2004 23:54:55 +0000 (23:54 +0000)
committerhanda <handa>
Sun, 14 Mar 2004 23:54:55 +0000 (23:54 +0000)
src/face.c

index e1a2bc5..dc42a8f 100644 (file)
@@ -556,7 +556,7 @@ mface__realize (MFrame *frame, MFace **faces, int num,
 {
   MRealizedFace *rface;
   MRealizedFont *rfont;
-  MFace merged_face = *(frame->face);
+  MFace merged_face = *frame->face;
   void **props;
   int i, j;
   unsigned tick;
@@ -565,6 +565,8 @@ mface__realize (MFrame *frame, MFace **faces, int num,
   if (num == 0 && language == Mnil && charset == Mnil && frame->rface)
     return frame->rface;
 
+  merged_face.property[MFACE_FOREGROUND]
+    = merged_face.property[MFACE_BACKGROUND] = NULL;
   for (i = 0; i < MFACE_PROPERTY_MAX; i++)
     for (j = num - 1; j >= 0; j--)
       if (faces[j]->property[i])
@@ -587,12 +589,14 @@ mface__realize (MFrame *frame, MFace **faces, int num,
 
   if ((MSymbol) merged_face.property[MFACE_VIDEOMODE] == Mreverse)
     {
-      MSymbol foreground = (MSymbol) merged_face.property[MFACE_FOREGROUND];
-      MSymbol background = (MSymbol) merged_face.property[MFACE_BACKGROUND];
-
+      void *background = merged_face.property[MFACE_BACKGROUND];
+      
+      merged_face.property[MFACE_BACKGROUND]
+       = merged_face.property[MFACE_FOREGROUND];
       merged_face.property[MFACE_FOREGROUND] = background;
-      merged_face.property[MFACE_BACKGROUND] = foreground;
     }
+  if (! merged_face.property[MFACE_FONTSET])
+    merged_face.property[MFACE_FONTSET] = frame->face->property[MFACE_FONTSET];
 
   rface = find_realized_face (frame, &merged_face, NULL);
   if (rface && rface->tick == tick)