Commits

Michele Bini  committed 12498d7

Updated to new GC root macros; bugfix in updating fringe_faces.

  • Participants
  • Parent commits ba2969e

Comments (0)

Files changed (1)

File src/fringe.c

 
   if (face_id == DEFAULT_FACE_ID)
     {
-      Lisp_Object face = AREF(fringe_faces, which);
+      Lisp_Object face = AREF(GET_GC_ROOT(fringe_faces), which);
       face_id = NILP (face) ? lookup_named_face (f, Qfringe, 0)
 	: lookup_derived_face (f, face, FRINGE_FACE_ID, 0);
       if (face_id < 0)
 {
   struct fringe_bitmap **fbp;
 
-  ASET(fringe_faces, n, Qnil);
+  ASET(GET_GC_ROOT(fringe_faces), n, Qnil);
 
   fbp = &fringe_bitmaps[n];
   if (*fbp && (*fbp)->dynamic)
 	      {
 		Lisp_Object new_vector = Fmake_vector(make_number(bitmaps), Qnil);
 		for (i = 0; i < max_fringe_bitmaps; i++) {
-		  ASET(new_vector, n, AREF(fringe_faces, n));
+		  ASET(new_vector, n, AREF(GET_GC_ROOT(fringe_faces), n));
 		}
-		REFRESH_GC_ROOT(fringe_faces);
+		SET_GC_ROOT(fringe_faces, new_vector);
 	      }
 
 	      for (i = max_fringe_bitmaps; i < bitmaps; i++)
 	error ("No such face");
     }
 
-  ASET(fringe_faces, n, face);
+  ASET(GET_GC_ROOT(fringe_faces), n, face);
 
   return Qnil;
 }