# HG changeset patch # User Kenichi Handa # Date 1149662243 0 # Node ID e9ed7d437c210ccf90bb59ae9233ad7007b7f365 # Parent 5976e428d68e22c5813de90927777cb2104c72ab (xftfont_default_fid): Set fid_known to 1. (struct xftdraw_list, xftdraw_list): Delete them. (register_xftdraw, check_xftdraw): Delete them. (xftfont_prepare_face): Don't call register_xftdraw. (xftfont_done_face): Don't call check_xftdraw. (xftfont_draw): Get backroudn color only when with_background is nonzero. diff -r 5976e428d68e -r e9ed7d437c21 src/xftfont.c --- a/src/xftfont.c Wed Jun 07 06:35:31 2006 +0000 +++ b/src/xftfont.c Wed Jun 07 06:37:23 2006 +0000 @@ -147,6 +147,7 @@ if (! fid) abort (); } + fid_known = 1; } return fid; } @@ -336,53 +337,6 @@ FRAME_X_DISPLAY_INFO (f)->n_fonts--; } -struct xftdraw_list -{ - XftDraw *xftdraw; - struct xftdraw_list *next; -}; - -static struct xftdraw_list *xftdraw_list; - -static void -register_xftdraw (xftdraw) - XftDraw *xftdraw; -{ - struct xftdraw_list *list = malloc (sizeof (struct xftdraw_list)); - - list->xftdraw = xftdraw; - list->next = xftdraw_list; - xftdraw_list = list; -} - -static void -check_xftdraw (xftdraw) - XftDraw *xftdraw; -{ - struct xftdraw_list *list, *prev; - - for (list = xftdraw_list, prev = NULL; list; prev = list, list = list->next) - { - if (list->xftdraw == xftdraw) - { - if (! prev) - { - list = xftdraw_list->next; - free (xftdraw_list); - xftdraw_list = list; - } - else - { - prev->next = list->next; - free (list); - list = prev; - } - return; - } - } - abort (); -} - static int xftfont_prepare_face (f, face) FRAME_PTR f; @@ -398,8 +352,6 @@ FRAME_X_WINDOW (f), FRAME_X_VISUAL (f), FRAME_X_COLORMAP (f)); - register_xftdraw (xftface_info->xft_draw); - xftfont_get_colors (f, face, face->gc, NULL, &xftface_info->xft_fg, &xftface_info->xft_bg); UNBLOCK_INPUT; @@ -418,7 +370,6 @@ if (xftface_info) { BLOCK_INPUT; - check_xftdraw (xftface_info->xft_draw); XftDrawDestroy (xftface_info->xft_draw); UNBLOCK_INPUT; free (xftface_info); @@ -479,7 +430,7 @@ int i; xftfont_get_colors (f, face, s->gc, xftface_info, - &fg, s->width ? &bg : NULL); + &fg, with_background ? &bg : NULL); BLOCK_INPUT; if (s->clip_width) {