=== modified file 'src/font.c' --- src/font.c 2014-06-10 03:32:36 +0000 +++ src/font.c 2014-06-16 07:55:14 +0000 @@ -158,6 +158,7 @@ Lisp_Object tail, frame; struct font_driver_list *fdl; + eassert (drv); for (fdl = font_driver_list; fdl; fdl = fdl->next) if (fdl->driver == drv) return true; @@ -219,6 +220,9 @@ } if (size > 0) font->props[FONT_SIZE_INDEX] = make_number (pixelsize); + /* NULL means that this font is not allocated by any driver yet, + and GC may be called before the driver is assigned (#Bug17771). */ + font->driver = NULL; return font_object; }