From: Ken Raeburn Date: Fri, 20 Jan 2017 08:00:47 +0000 (-0500) Subject: Create frame's face cache. X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ee0638c68cc38489381604cb115c7c7639eb258d;p=emacs.git Create frame's face cache. * src/xfaces.c (Finternal_set_lisp_face_attribute): Ensure the face cache exists on a frame before calling Fmodify_frame_parameters. --- diff --git a/src/xfaces.c b/src/xfaces.c index 86bb9b0b496..b9ced74cd84 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -3212,6 +3212,13 @@ FRAME 0 means change the face on all frames, and change the default cons = XCAR (Vparam_value_alist); XSETCAR (cons, param); XSETCDR (cons, value); + + /* Fmodify_frame_parameters may update faces and use the + cache. */ + struct frame *f = XFRAME (frame); + if (FRAME_FACE_CACHE (f) == NULL) + FRAME_FACE_CACHE (f) = make_face_cache (f); + Fmodify_frame_parameters (frame, Vparam_value_alist); } }