From: Kenichi Handa Date: Wed, 7 Jun 2006 06:37:23 +0000 (+0000) Subject: (xftfont_default_fid): Set fid_known to 1. X-Git-Tag: emacs-pretest-23.0.90~8295^2~924 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=322f867173440a026fa2147aa8501716ff56bfd4;p=emacs.git (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 --git a/src/xftfont.c b/src/xftfont.c index dd2b95ccd14..f06bf6bd41e 100644 --- a/src/xftfont.c +++ b/src/xftfont.c @@ -147,6 +147,7 @@ xftfont_default_fid (f) if (! fid) abort (); } + fid_known = 1; } return fid; } @@ -336,53 +337,6 @@ xftfont_close (f, font) 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 @@ xftfont_prepare_face (f, face) 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 @@ xftfont_done_face (f, face) 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 @@ xftfont_draw (s, from, to, x, y, with_background) 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) {