More thorough fix for image slices on mode/header-line
* 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)
This commit is contained in:
parent
9cfc01056e
commit
a9661e643b
2 changed files with 5 additions and 10 deletions
|
@ -6447,7 +6447,11 @@ mode_line_string (struct window *w, enum window_part part,
|
|||
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
|
||||
|
|
|
@ -35864,15 +35864,6 @@ 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))
|
||||
|
|
Loading…
Add table
Reference in a new issue