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>
|
2014-07-03 Dmitry Antipov <dmantipov@yandex.ru>
|
||||||
|
|
||||||
On MS-Windows, display busy cursor on all GUI frames.
|
On MS-Windows, display busy cursor on all GUI frames.
|
||||||
|
@ -613,15 +613,6 @@ struct font_driver
|
|||||||
|
|
||||||
#endif /* HAVE_WINDOW_SYSTEM */
|
#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.
|
/* Optional.
|
||||||
Get coordinates of the INDEXth anchor point of the glyph whose
|
Get coordinates of the INDEXth anchor point of the glyph whose
|
||||||
code is CODE. Store the coordinates in *X and *Y. Return 0 if
|
code is CODE. Store the coordinates in *X and *Y. Return 0 if
|
||||||
|
@ -538,8 +538,6 @@ struct font_driver ftfont_driver =
|
|||||||
NULL, /* draw */
|
NULL, /* draw */
|
||||||
ftfont_get_bitmap,
|
ftfont_get_bitmap,
|
||||||
NULL, /* free_bitmap */
|
NULL, /* free_bitmap */
|
||||||
NULL, /* get_outline */
|
|
||||||
NULL, /* free_outline */
|
|
||||||
ftfont_anchor_point,
|
ftfont_anchor_point,
|
||||||
#ifdef HAVE_LIBOTF
|
#ifdef HAVE_LIBOTF
|
||||||
ftfont_otf_capability,
|
ftfont_otf_capability,
|
||||||
|
@ -1580,8 +1580,6 @@ static int macfont_variation_glyphs (struct font *, int c,
|
|||||||
macfont_draw,
|
macfont_draw,
|
||||||
NULL, /* get_bitmap */
|
NULL, /* get_bitmap */
|
||||||
NULL, /* free_bitmap */
|
NULL, /* free_bitmap */
|
||||||
NULL, /* get_outline */
|
|
||||||
NULL, /* free_outline */
|
|
||||||
NULL, /* anchor_point */
|
NULL, /* anchor_point */
|
||||||
NULL, /* otf_capability */
|
NULL, /* otf_capability */
|
||||||
NULL, /* otf_drive */
|
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_encode_char,
|
||||||
nsfont_text_extents,
|
nsfont_text_extents,
|
||||||
nsfont_draw,
|
nsfont_draw,
|
||||||
/* excluded: get_bitmap, free_bitmap, get_outline, free_outline,
|
/* excluded: get_bitmap, free_bitmap,
|
||||||
anchor_point, otf_capability, otf_driver,
|
anchor_point, otf_capability, otf_driver,
|
||||||
start_for_frame, end_for_frame, shape */
|
start_for_frame, end_for_frame, shape */
|
||||||
};
|
};
|
||||||
|
@ -757,19 +757,6 @@ w32font_get_bitmap (struct font *font, unsigned code,
|
|||||||
static void
|
static void
|
||||||
w32font_free_bitmap (struct font *font, struct font_bitmap *bitmap);
|
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.
|
/* w32 implementation of anchor_point for font backend.
|
||||||
Optional.
|
Optional.
|
||||||
Get coordinates of the INDEXth anchor point of the glyph whose
|
Get coordinates of the INDEXth anchor point of the glyph whose
|
||||||
@ -2557,8 +2544,6 @@ struct font_driver w32font_driver =
|
|||||||
w32font_draw,
|
w32font_draw,
|
||||||
NULL, /* get_bitmap */
|
NULL, /* get_bitmap */
|
||||||
NULL, /* free_bitmap */
|
NULL, /* free_bitmap */
|
||||||
NULL, /* get_outline */
|
|
||||||
NULL, /* free_outline */
|
|
||||||
NULL, /* anchor_point */
|
NULL, /* anchor_point */
|
||||||
NULL, /* otf_capability */
|
NULL, /* otf_capability */
|
||||||
NULL, /* otf_drive */
|
NULL, /* otf_drive */
|
||||||
|
@ -604,8 +604,6 @@ uniscribe_encode_char (struct font *font, int c)
|
|||||||
int uniscribe_get_bitmap (struct font *font, unsigned code,
|
int uniscribe_get_bitmap (struct font *font, unsigned code,
|
||||||
struct font_bitmap *bitmap, int bits_per_pixel);
|
struct font_bitmap *bitmap, int bits_per_pixel);
|
||||||
void uniscribe_free_bitmap (struct font *font, struct font_bitmap *bitmap);
|
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 uniscribe_anchor_point (struct font *font, unsigned code,
|
||||||
int index, int *x, int *y);
|
int index, int *x, int *y);
|
||||||
int uniscribe_start_for_frame (struct frame *f);
|
int uniscribe_start_for_frame (struct frame *f);
|
||||||
@ -981,8 +979,6 @@ struct font_driver uniscribe_font_driver =
|
|||||||
w32font_draw,
|
w32font_draw,
|
||||||
NULL, /* get_bitmap */
|
NULL, /* get_bitmap */
|
||||||
NULL, /* free_bitmap */
|
NULL, /* free_bitmap */
|
||||||
NULL, /* get_outline */
|
|
||||||
NULL, /* free_outline */
|
|
||||||
NULL, /* anchor_point */
|
NULL, /* anchor_point */
|
||||||
uniscribe_otf_capability, /* Defined so (font-get FONTOBJ :otf) works. */
|
uniscribe_otf_capability, /* Defined so (font-get FONTOBJ :otf) works. */
|
||||||
NULL, /* otf_drive - use shape instead. */
|
NULL, /* otf_drive - use shape instead. */
|
||||||
|
@ -146,7 +146,7 @@ struct font_driver xfont_driver =
|
|||||||
xfont_encode_char,
|
xfont_encode_char,
|
||||||
xfont_text_extents,
|
xfont_text_extents,
|
||||||
xfont_draw,
|
xfont_draw,
|
||||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
xfont_check,
|
xfont_check,
|
||||||
NULL, /* get_variation_glyphs */
|
NULL, /* get_variation_glyphs */
|
||||||
NULL, /* filter_properties */
|
NULL, /* filter_properties */
|
||||||
|
@ -1299,9 +1299,7 @@ x_get_window_property (Display *display, Window window, Atom property,
|
|||||||
if (total_size_max < bytes_remaining)
|
if (total_size_max < bytes_remaining)
|
||||||
goto size_overflow;
|
goto size_overflow;
|
||||||
total_size = bytes_remaining;
|
total_size = bytes_remaining;
|
||||||
data = malloc (total_size + 1);
|
data = xmalloc (total_size + 1);
|
||||||
if (! data)
|
|
||||||
goto memory_exhausted;
|
|
||||||
|
|
||||||
/* Now read, until we've gotten it all. */
|
/* Now read, until we've gotten it all. */
|
||||||
while (bytes_remaining)
|
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)
|
if (remaining_lim < 0 || remaining_lim < bytes_remaining)
|
||||||
goto size_overflow;
|
goto size_overflow;
|
||||||
total_size = offset + bytes_gotten + bytes_remaining;
|
total_size = offset + bytes_gotten + bytes_remaining;
|
||||||
data1 = realloc (data, total_size + 1);
|
data1 = xrealloc (data, total_size + 1);
|
||||||
if (! data1)
|
|
||||||
goto memory_exhausted;
|
|
||||||
data = data1;
|
data = data1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1386,14 +1382,10 @@ x_get_window_property (Display *display, Window window, Atom property,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
size_overflow:
|
size_overflow:
|
||||||
free (data);
|
if (data)
|
||||||
|
xfree (data);
|
||||||
unblock_input ();
|
unblock_input ();
|
||||||
memory_full (SIZE_MAX);
|
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. */
|
/* Use xfree, not XFree, to free the data obtained with this function. */
|
||||||
|
Loading…
Reference in New Issue
Block a user