mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-21 18:23:59 +00:00
* font.h (struct font_driver): Remove get_outline and free_outline;
not used by any font driver. * ftfont.c (ftfont_driver): * macfont.m (macfont_driver): * nsfont.m (nsfont_driver): * w32font.c (w32font_driver): * w32uniscribe.c (uniscribe_font_driver): * xfont.c (xfont_driver): Related users changed. * xselect.c (x_get_window_property): Use convenient xmalloc. Call to xfree only if some data was really allocated.
This commit is contained in:
parent
2b13ca4d11
commit
9d7b0167fd
@ -1,3 +1,16 @@
|
||||
2014-07-04 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
* font.h (struct font_driver): Remove get_outline and free_outline;
|
||||
not used by any font driver.
|
||||
* ftfont.c (ftfont_driver):
|
||||
* macfont.m (macfont_driver):
|
||||
* nsfont.m (nsfont_driver):
|
||||
* w32font.c (w32font_driver):
|
||||
* w32uniscribe.c (uniscribe_font_driver):
|
||||
* xfont.c (xfont_driver): Related users changed.
|
||||
* xselect.c (x_get_window_property): Use convenient xmalloc.
|
||||
Call to xfree only if some data was really allocated.
|
||||
|
||||
2014-07-03 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
On MS-Windows, display busy cursor on all GUI frames.
|
||||
|
@ -613,15 +613,6 @@ struct font_driver
|
||||
|
||||
#endif /* HAVE_WINDOW_SYSTEM */
|
||||
|
||||
/* Optional.
|
||||
Return an outline data for glyph-code CODE of FONT. The format
|
||||
of the outline data depends on the font-driver. */
|
||||
void *(*get_outline) (struct font *font, unsigned code);
|
||||
|
||||
/* Optional.
|
||||
Free OUTLINE (that is obtained by the above method). */
|
||||
void (*free_outline) (struct font *font, void *outline);
|
||||
|
||||
/* Optional.
|
||||
Get coordinates of the INDEXth anchor point of the glyph whose
|
||||
code is CODE. Store the coordinates in *X and *Y. Return 0 if
|
||||
|
@ -538,8 +538,6 @@ struct font_driver ftfont_driver =
|
||||
NULL, /* draw */
|
||||
ftfont_get_bitmap,
|
||||
NULL, /* free_bitmap */
|
||||
NULL, /* get_outline */
|
||||
NULL, /* free_outline */
|
||||
ftfont_anchor_point,
|
||||
#ifdef HAVE_LIBOTF
|
||||
ftfont_otf_capability,
|
||||
|
@ -1580,8 +1580,6 @@ static int macfont_variation_glyphs (struct font *, int c,
|
||||
macfont_draw,
|
||||
NULL, /* get_bitmap */
|
||||
NULL, /* free_bitmap */
|
||||
NULL, /* get_outline */
|
||||
NULL, /* free_outline */
|
||||
NULL, /* anchor_point */
|
||||
NULL, /* otf_capability */
|
||||
NULL, /* otf_drive */
|
||||
|
@ -649,7 +649,7 @@ static int nsfont_draw (struct glyph_string *s, int from, int to, int x, int y,
|
||||
nsfont_encode_char,
|
||||
nsfont_text_extents,
|
||||
nsfont_draw,
|
||||
/* excluded: get_bitmap, free_bitmap, get_outline, free_outline,
|
||||
/* excluded: get_bitmap, free_bitmap,
|
||||
anchor_point, otf_capability, otf_driver,
|
||||
start_for_frame, end_for_frame, shape */
|
||||
};
|
||||
|
@ -757,19 +757,6 @@ w32font_get_bitmap (struct font *font, unsigned code,
|
||||
static void
|
||||
w32font_free_bitmap (struct font *font, struct font_bitmap *bitmap);
|
||||
*/
|
||||
/* w32 implementation of get_outline for font backend.
|
||||
Optional.
|
||||
Return an outline data for glyph-code CODE of FONT. The format
|
||||
of the outline data depends on the font-driver.
|
||||
static void *
|
||||
w32font_get_outline (struct font *font, unsigned code);
|
||||
*/
|
||||
/* w32 implementation of free_outline for font backend.
|
||||
Optional.
|
||||
Free OUTLINE (that is obtained by the above method).
|
||||
static void
|
||||
w32font_free_outline (struct font *font, void *outline);
|
||||
*/
|
||||
/* w32 implementation of anchor_point for font backend.
|
||||
Optional.
|
||||
Get coordinates of the INDEXth anchor point of the glyph whose
|
||||
@ -2557,8 +2544,6 @@ struct font_driver w32font_driver =
|
||||
w32font_draw,
|
||||
NULL, /* get_bitmap */
|
||||
NULL, /* free_bitmap */
|
||||
NULL, /* get_outline */
|
||||
NULL, /* free_outline */
|
||||
NULL, /* anchor_point */
|
||||
NULL, /* otf_capability */
|
||||
NULL, /* otf_drive */
|
||||
|
@ -604,8 +604,6 @@ uniscribe_encode_char (struct font *font, int c)
|
||||
int uniscribe_get_bitmap (struct font *font, unsigned code,
|
||||
struct font_bitmap *bitmap, int bits_per_pixel);
|
||||
void uniscribe_free_bitmap (struct font *font, struct font_bitmap *bitmap);
|
||||
void * uniscribe_get_outline (struct font *font, unsigned code);
|
||||
void uniscribe_free_outline (struct font *font, void *outline);
|
||||
int uniscribe_anchor_point (struct font *font, unsigned code,
|
||||
int index, int *x, int *y);
|
||||
int uniscribe_start_for_frame (struct frame *f);
|
||||
@ -981,8 +979,6 @@ struct font_driver uniscribe_font_driver =
|
||||
w32font_draw,
|
||||
NULL, /* get_bitmap */
|
||||
NULL, /* free_bitmap */
|
||||
NULL, /* get_outline */
|
||||
NULL, /* free_outline */
|
||||
NULL, /* anchor_point */
|
||||
uniscribe_otf_capability, /* Defined so (font-get FONTOBJ :otf) works. */
|
||||
NULL, /* otf_drive - use shape instead. */
|
||||
|
@ -146,7 +146,7 @@ struct font_driver xfont_driver =
|
||||
xfont_encode_char,
|
||||
xfont_text_extents,
|
||||
xfont_draw,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
xfont_check,
|
||||
NULL, /* get_variation_glyphs */
|
||||
NULL, /* filter_properties */
|
||||
|
@ -1299,9 +1299,7 @@ x_get_window_property (Display *display, Window window, Atom property,
|
||||
if (total_size_max < bytes_remaining)
|
||||
goto size_overflow;
|
||||
total_size = bytes_remaining;
|
||||
data = malloc (total_size + 1);
|
||||
if (! data)
|
||||
goto memory_exhausted;
|
||||
data = xmalloc (total_size + 1);
|
||||
|
||||
/* Now read, until we've gotten it all. */
|
||||
while (bytes_remaining)
|
||||
@ -1352,9 +1350,7 @@ x_get_window_property (Display *display, Window window, Atom property,
|
||||
if (remaining_lim < 0 || remaining_lim < bytes_remaining)
|
||||
goto size_overflow;
|
||||
total_size = offset + bytes_gotten + bytes_remaining;
|
||||
data1 = realloc (data, total_size + 1);
|
||||
if (! data1)
|
||||
goto memory_exhausted;
|
||||
data1 = xrealloc (data, total_size + 1);
|
||||
data = data1;
|
||||
}
|
||||
|
||||
@ -1386,14 +1382,10 @@ x_get_window_property (Display *display, Window window, Atom property,
|
||||
return;
|
||||
|
||||
size_overflow:
|
||||
free (data);
|
||||
if (data)
|
||||
xfree (data);
|
||||
unblock_input ();
|
||||
memory_full (SIZE_MAX);
|
||||
|
||||
memory_exhausted:
|
||||
free (data);
|
||||
unblock_input ();
|
||||
memory_full (total_size + 1);
|
||||
}
|
||||
|
||||
/* Use xfree, not XFree, to free the data obtained with this function. */
|
||||
|
Loading…
Reference in New Issue
Block a user