Mercurial > emacs
diff src/dispextern.h @ 92109:4d9fc08769fa
Consolidate the image_cache to the terminal struct.
* termhooks.h (P_): Remove redundant def.
(struct terminal): New field `image_cache'.
* frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
of FRAME_X_IMAGE_CACHE.
* xterm.h (struct x_display_info): Remove image_cache field.
(FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
* w32term.h (struct w32_display_info): Remove image_cache field.
(FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
* macterm.h (struct mac_display_info): Remove image_cache field.
(FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
* xterm.c (x_term_init):
* w32term.c (w32_term_init):
* macterm.c (mac_term_init): Set the image_cache in the terminal.
* dispextern.h (clear_image_cache, forall_images_in_image_cache):
Remove declarations.
(clear_image_caches, mark_image_cache): New declarations.
* xfaces.c (clear_face_cache):
* xdisp.c (redisplay_internal): Use clear_image_caches.
* image.c (clear_image_cache): Don't check that a frame is on
a window-system before checking if it shares the same cache.
(clear_image_caches): New function.
(Fclear_image_cache): Use it.
(mark_image): Move from allo.c.
(mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
* alloc.c (mark_image, mark_image_cache): Move to image.c.
(mark_object): Don't call mark_image_cache for frames.
(mark_terminals): Call mark_image_cache.
| author | Stefan Monnier <monnier@iro.umontreal.ca> |
|---|---|
| date | Fri, 22 Feb 2008 17:42:09 +0000 |
| parents | 606f2d163a64 |
| children | 1c088baa9d2d |
line wrap: on
line diff
--- a/src/dispextern.h Fri Feb 22 17:27:17 2008 +0000 +++ b/src/dispextern.h Fri Feb 22 17:42:09 2008 +0000 @@ -2547,8 +2547,8 @@ no image with that id exists. */ #define IMAGE_FROM_ID(F, ID) \ - (((ID) >= 0 && (ID) < (FRAME_X_IMAGE_CACHE (F)->used)) \ - ? FRAME_X_IMAGE_CACHE (F)->images[ID] \ + (((ID) >= 0 && (ID) < (FRAME_IMAGE_CACHE (F)->used)) \ + ? FRAME_IMAGE_CACHE (F)->images[ID] \ : NULL) /* Size of bucket vector of image caches. Should be prime. */ @@ -2818,9 +2818,8 @@ void x_kill_gs_process P_ ((Pixmap, struct frame *)); struct image_cache *make_image_cache P_ ((void)); void free_image_cache P_ ((struct frame *)); -void clear_image_cache P_ ((struct frame *, int)); -void forall_images_in_image_cache P_ ((struct frame *, - void (*) P_ ((struct image *)))); +void clear_image_caches P_ ((int)); +void mark_image_cache P_ ((struct image_cache *)); int valid_image_p P_ ((Lisp_Object)); void prepare_image_for_display P_ ((struct frame *, struct image *)); int lookup_image P_ ((struct frame *, Lisp_Object));
