mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-26 10:49:33 +00:00
* src/xfont.c (xfont_draw): Allocate the XChar2b array (Bug#35814)
This commit is contained in:
parent
9624f60949
commit
5a024b72c5
26
src/xfont.c
26
src/xfont.c
@ -1047,11 +1047,16 @@ xfont_draw (struct glyph_string *s, int from, int to, int x, int y,
|
||||
}
|
||||
else
|
||||
{
|
||||
const unsigned code = s->char2b[from];
|
||||
const XChar2b char2b = { .byte1 = code >> 8,
|
||||
.byte2 = code & 0xFF };
|
||||
USE_SAFE_ALLOCA;
|
||||
const unsigned *code = s->char2b + from;
|
||||
XChar2b *char2b;
|
||||
SAFE_NALLOCA (char2b, 1, len);
|
||||
for (int i = 0; i < len; ++i)
|
||||
char2b[i] = (XChar2b) { .byte1 = code[i] >> 8,
|
||||
.byte2 = code[i] & 0xFF };
|
||||
XDrawImageString16 (display, FRAME_X_DRAWABLE (s->f),
|
||||
gc, x, y, &char2b, len);
|
||||
gc, x, y, char2b, len);
|
||||
SAFE_FREE ();
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1067,11 +1072,16 @@ xfont_draw (struct glyph_string *s, int from, int to, int x, int y,
|
||||
}
|
||||
else
|
||||
{
|
||||
const unsigned code = s->char2b[from];
|
||||
const XChar2b char2b = { .byte1 = code >> 8,
|
||||
.byte2 = code & 0xFF };
|
||||
USE_SAFE_ALLOCA;
|
||||
const unsigned *code = s->char2b + from;
|
||||
XChar2b *char2b;
|
||||
SAFE_NALLOCA (char2b, 1, len);
|
||||
for (int i = 0; i < len; ++i)
|
||||
char2b[i] = (XChar2b) { .byte1 = code[i] >> 8,
|
||||
.byte2 = code[i] & 0xFF };
|
||||
XDrawString16 (display, FRAME_X_DRAWABLE (s->f),
|
||||
gc, x, y, &char2b, len);
|
||||
gc, x, y, char2b, len);
|
||||
SAFE_FREE ();
|
||||
}
|
||||
}
|
||||
unblock_input ();
|
||||
|
Loading…
Reference in New Issue
Block a user