]> git.eshelyaron.com Git - emacs.git/commitdiff
Create frame's face cache.
authorKen Raeburn <raeburn@raeburn.org>
Fri, 20 Jan 2017 08:00:47 +0000 (03:00 -0500)
committerKen Raeburn <raeburn@raeburn.org>
Sat, 22 Jul 2017 08:36:21 +0000 (04:36 -0400)
* src/xfaces.c (Finternal_set_lisp_face_attribute): Ensure the face
cache exists on a frame before calling Fmodify_frame_parameters.

src/xfaces.c

index 86bb9b0b4966d174dee0839fff04ebccedcd1a58..b9ced74cd84e1a22d0eaf8922e18ef145f9b9140 100644 (file)
@@ -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);
            }
        }