* xftfont.c (xftfont_open): Avoid passing NULL argument to
authorChong Yidong <cyd@stupidchicken.com>
Tue, 30 Jun 2009 22:08:57 +0000 (22:08 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Tue, 30 Jun 2009 22:08:57 +0000 (22:08 +0000)
XftLockFace.

src/ChangeLog
src/xftfont.c

index 180b7937770f98dbf6912764f28c191441e1f01a..d247401d3f3973511a8913dc2370a55c48da3ad1 100644 (file)
@@ -1,3 +1,8 @@
+2009-06-30  Chong Yidong  <cyd@stupidchicken.com>
+
+       * xftfont.c (xftfont_open): Avoid passing NULL argument to
+       XftLockFace.
+
 2009-06-28  David Reitter <david.reitter@gmail.com>
 
        * nsterm.m (keydown): Avoid infinite loop.
index 4a1b488bcf9d7efc42968aacf00ead5afae67c03..8a12b2f24cb43c2a34007849115fcf123be70adf 100644 (file)
@@ -287,14 +287,15 @@ xftfont_open (f, entity, pixel_size)
   match = XftFontMatch (display, FRAME_X_SCREEN_NUMBER (f), pat, &result);
   FcPatternDestroy (pat);
   xftfont = XftFontOpenPattern (display, match);
-  ft_face = XftLockFace (xftfont);
-  UNBLOCK_INPUT;
-
   if (! xftfont)
     {
+      UNBLOCK_INPUT;
       XftPatternDestroy (match);
       return Qnil;
     }
+  ft_face = XftLockFace (xftfont);
+  UNBLOCK_INPUT;
+
   /* We should not destroy PAT here because it is kept in XFTFONT and
      destroyed automatically when XFTFONT is closed.  */
   font_object = font_make_object (VECSIZE (struct xftfont_info), entity, size);