* src/xdisp.c (note_mode_line_or_margin_highlight): Remove
correction of DX and DY due to image slices, as this is now done
in 'mode_line_string'.
* src/dispnew.c (mode_line_string): Make DX and DY account for
image slices. (Bug#77429)
(cherry picked from commit
a9661e643b1235e82b7ba0c9c9c2cd8fa533b5a6)
struct image *img;
img = IMAGE_OPT_FROM_ID (WINDOW_XFRAME (w), glyph->u.img_id);
if (img != NULL)
- *object = img->spec;
+ {
+ *object = img->spec;
+ x0 += glyph->slice.img.x;
+ y0 += glyph->slice.img.y;
+ }
y0 -= row->ascent - glyph->ascent;
}
#endif
#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))