From 975d58c4c8d22555a702c418bb68225e6fc630d0 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 1 Apr 2025 18:40:59 +0300 Subject: [PATCH] Fix :map property on sliced images on mode line and header line * src/xdisp.c (note_mode_line_or_margin_highlight): Fix coordinates for image slices wrt ':map' keyword when the image is on the mode line or header line. (Bug#77429) --- src/xdisp.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/xdisp.c b/src/xdisp.c index 2c676c09827..886f070753f 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -35864,6 +35864,15 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y, #ifdef HAVE_WINDOW_SYSTEM if (IMAGEP (object)) { + if (glyph != NULL && glyph->type == IMAGE_GLYPH) + { + struct image *img = IMAGE_OPT_FROM_ID (f, glyph->u.img_id); + if (img != NULL && IMAGEP (img->spec)) + { + dx += glyph->slice.img.x; + dy += glyph->slice.img.y; + } + } Lisp_Object image_map, hotspot; if ((image_map = plist_get (XCDR (object), QCmap), !NILP (image_map))