- block_input ();
- XftUnlockFace (xftfont_info->xftfont);
- XftFontClose (xftfont_info->display, xftfont_info->xftfont);
- unblock_input ();
+
+ /* See comment in xfont_close. */
+ if (xftfont_info->xftfont
+ && ((xdi = x_display_info_for_display (xftfont_info->display))
+ && xftfont_info->x_display_id == xdi->x_id))
+ {
+ block_input ();
+ XftUnlockFace (xftfont_info->xftfont);
+ XftFontClose (xftfont_info->display, xftfont_info->xftfont);
+ unblock_input ();
+ xftfont_info->xftfont = NULL;
+ }