From ee0638c68cc38489381604cb115c7c7639eb258d Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Fri, 20 Jan 2017 03:00:47 -0500 Subject: [PATCH] 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. --- src/xfaces.c | 7 +++++++ 1 file changed, 7 insertions(+) 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); } } -- 2.39.5