]> git.eshelyaron.com Git - emacs.git/commitdiff
(resolve_face_name): Use Fsafe_get to avoid redisplay
authorKim F. Storm <storm@cua.dk>
Tue, 19 Apr 2005 08:34:50 +0000 (08:34 +0000)
committerKim F. Storm <storm@cua.dk>
Tue, 19 Apr 2005 08:34:50 +0000 (08:34 +0000)
loops in case of bad face property lists.  Limit number of face
alias lookups to 10 (in case of face alias loops).

src/xfaces.c

index 3ff8917ff91989040ab4af9023b600a168d14886..d8ae7c2af19844908e966c2983a83ae5e3335052 100644 (file)
@@ -3211,17 +3211,19 @@ resolve_face_name (face_name)
      Lisp_Object face_name;
 {
   Lisp_Object aliased;
+  int alias_loop_max = 10;
 
   if (STRINGP (face_name))
     face_name = intern (SDATA (face_name));
 
   while (SYMBOLP (face_name))
     {
-      aliased = Fget (face_name, Qface_alias);
+      aliased = Fsafe_get (face_name, Qface_alias);
       if (NILP (aliased))
        break;
-      else
-       face_name = aliased;
+      if (--alias_loop_max == 0)
+       break;
+      face_name = aliased;
     }
 
   return face_name;