mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-05-27 15:43:13 -07:00
Fix leak on Lucid build
* src/xterm.c (x_term_init): Rectify wrong fix for bug#18403.
This commit is contained in:
parent
123baf3772
commit
eb68c3d5a2
1 changed files with 14 additions and 5 deletions
19
src/xterm.c
19
src/xterm.c
|
|
@ -29778,21 +29778,30 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
|
|||
{
|
||||
XrmValue d, fr, to;
|
||||
Font font;
|
||||
XFontStruct *query_result;
|
||||
|
||||
dpy = dpyinfo->display;
|
||||
d.addr = (XPointer)&dpy;
|
||||
d.addr = (XPointer) &dpy;
|
||||
d.size = sizeof (Display *);
|
||||
fr.addr = (char *) XtDefaultFont;
|
||||
fr.size = sizeof (XtDefaultFont);
|
||||
to.size = sizeof (Font *);
|
||||
to.addr = (XPointer)&font;
|
||||
to.addr = (XPointer) &font;
|
||||
x_catch_errors (dpy);
|
||||
if (!XtCallConverter (dpy, XtCvtStringToFont, &d, 1, &fr, &to, NULL))
|
||||
emacs_abort ();
|
||||
if (x_had_errors_p (dpy) || !XQueryFont (dpy, font))
|
||||
query_result = XQueryFont (dpy, font);
|
||||
|
||||
/* Set the dialog font to some fallback (here, 9x15) if the font
|
||||
specified is invalid. */
|
||||
if (x_had_errors_p (dpy) || !font)
|
||||
XrmPutLineResource (&xrdb, "Emacs.dialog.*.font: 9x15");
|
||||
/* Do not free XFontStruct returned by the above call to XQueryFont.
|
||||
This leads to X protocol errors at XtCloseDisplay (Bug#18403). */
|
||||
|
||||
/* Do not destroy the font struct returned above with XFreeFont;
|
||||
that also destroys the font, leading to to X protocol errors at
|
||||
XtCloseDisplay. Just free the font info structure.
|
||||
(Bug#18403) */
|
||||
XFreeFontInfo (NULL, query_result, 0);
|
||||
x_uncatch_errors ();
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue