{
MRealizedFace *rface;
MRealizedFont *rfont;
- MFace merged_face = *(frame->face);
+ MFace merged_face = *frame->face;
void **props;
int i, j;
unsigned tick;
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])
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)