+ /* See if there is another frame already using same fontset. */
+ FOR_EACH_FRAME (rest, frame)
+ {
+ struct frame *cf = XFRAME (frame);
+ if (cf != f && FRAME_LIVE_P (f) && FRAME_X_P (cf)
+ && FRAME_X_DISPLAY_INFO (cf) == FRAME_X_DISPLAY_INFO (f)
+ && !strcmp (FRAME_XIC_BASE_FONTNAME (cf), base_fontname))
+ return FRAME_XIC_FONTSET (cf);
You should use FRAME_X_DISPLAY, not FRAME_X_DISPLAY_INFO everywhere.
A frame can be opened on display ":0", "unix:0", "hostname:0" and so
on,
but it is still the same display. However, they will have different
display info.