mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2026-09-10 07:46:51 -04:00
Pacify -Wuseless-cast with Lucid toolkit
Problem reported by Jonathan Mitchell (bug#81554). Also, clean up the const situation elsewhere, e.g., with Motif toolkit, and with no X toolkit. * configure.ac (_CONST_X_STRING): New macro, when using X11. This causes most X11 include files to use ‘const char *’ for readonly strings, rather than the ‘char *’ that was needed for K&R C. * lwlib/lwlib-Xaw.c (xaw_generic_callback): * lwlib/lwlib.c (lw_get_widget_value_for_widget) (lw_internal_update_other_instances): * lwlib/xlwmenu.c (openXftFont): * src/xdisp.c (update_redisplay_ticks): Use char const *, not char *, for readonly strings. * lwlib/lwlib-Xm.c (update_one_menu_entry): A cast is needed now that XtName returns char const *, in a context where Motif wants char *, not String. * lwlib/xlwmenu.c (openXftFont): Put newly allocated string into its own local variable, so that main local can be char const *. * src/emacs.c (android_emacs_init): * src/xterm.c (x_term_init): Pacify both -Wuseless-cast and -Wdiscarded-qualifiers. * src/widget.c (resources, emacsFrameClassRec): * src/xdisp.c (update_redisplay_ticks): * src/xfns.c (x_window): * src/xmenu.c (create_and_show_popup_menu): * src/xterm.c (emacs_options) [USE_X_TOOLKIT]: Omit now-useless casts. * src/xfns.c (Fx_file_dialog): Use char *, not String, for a mutable string.
This commit is contained in:
parent
69b9bfeb01
commit
39f42a8248
|
|
@ -7277,6 +7277,8 @@ AC_SUBST([LIBXT_OTHER])
|
||||||
if test "${HAVE_X11}" = "yes" ; then
|
if test "${HAVE_X11}" = "yes" ; then
|
||||||
AC_DEFINE([HAVE_X11], [1],
|
AC_DEFINE([HAVE_X11], [1],
|
||||||
[Define to 1 if you want to use version 11 of X windows.])
|
[Define to 1 if you want to use version 11 of X windows.])
|
||||||
|
AC_DEFINE([_CONST_X_STRING], [1],
|
||||||
|
[Define to 1 for X11 headers to use the 'const' keyword of C89 or later.])
|
||||||
LIBX_OTHER="\$(LIBXT) \$(LIBX_EXTRA)"
|
LIBX_OTHER="\$(LIBXT) \$(LIBX_EXTRA)"
|
||||||
else
|
else
|
||||||
LIBX_OTHER=
|
LIBX_OTHER=
|
||||||
|
|
|
||||||
|
|
@ -762,7 +762,7 @@ xaw_generic_callback (Widget widget, XtPointer closure, XtPointer call_data)
|
||||||
all instances of a button have the same call data. */
|
all instances of a button have the same call data. */
|
||||||
{
|
{
|
||||||
widget_value *val = instance->info->val->contents;
|
widget_value *val = instance->info->val->contents;
|
||||||
char *name = XtName (widget);
|
char const *name = XtName (widget);
|
||||||
while (val)
|
while (val)
|
||||||
{
|
{
|
||||||
if (val->name && !strcmp (val->name, name))
|
if (val->name && !strcmp (val->name, name))
|
||||||
|
|
|
||||||
|
|
@ -685,7 +685,8 @@ update_one_menu_entry (widget_instance* instance,
|
||||||
emacs_abort ();
|
emacs_abort ();
|
||||||
if (XmIsCascadeButton (widget_list[i]))
|
if (XmIsCascadeButton (widget_list[i]))
|
||||||
{
|
{
|
||||||
menu = XmCreatePulldownMenu (parent, XtName(widget), NULL, 0);
|
menu = XmCreatePulldownMenu (parent, (char *) XtName(widget),
|
||||||
|
NULL, 0);
|
||||||
make_menu_in_widget (instance, menu, contents, 0);
|
make_menu_in_widget (instance, menu, contents, 0);
|
||||||
ac = 0;
|
ac = 0;
|
||||||
XtSetArg (al [ac], XmNsubMenuId, menu); ac++;
|
XtSetArg (al [ac], XmNsubMenuId, menu); ac++;
|
||||||
|
|
|
||||||
|
|
@ -1048,7 +1048,7 @@ lw_get_all_values (LWLIB_ID id)
|
||||||
widget_value*
|
widget_value*
|
||||||
lw_get_widget_value_for_widget (widget_instance *instance, Widget w)
|
lw_get_widget_value_for_widget (widget_instance *instance, Widget w)
|
||||||
{
|
{
|
||||||
char* name = XtName (w);
|
char const *name = XtName (w);
|
||||||
widget_value* cur;
|
widget_value* cur;
|
||||||
for (cur = instance->info->val; cur; cur = cur->next)
|
for (cur = instance->info->val; cur; cur = cur->next)
|
||||||
if (!strcmp (cur->name, name))
|
if (!strcmp (cur->name, name))
|
||||||
|
|
@ -1070,7 +1070,7 @@ lw_internal_update_other_instances (Widget widget,
|
||||||
XtPointer call_data)
|
XtPointer call_data)
|
||||||
{
|
{
|
||||||
widget_instance* instance = (widget_instance*)closure;
|
widget_instance* instance = (widget_instance*)closure;
|
||||||
char* name = XtName (widget);
|
char const *name = XtName (widget);
|
||||||
widget_info* info;
|
widget_info* info;
|
||||||
widget_instance* cur;
|
widget_instance* cur;
|
||||||
widget_value* val;
|
widget_value* val;
|
||||||
|
|
|
||||||
|
|
@ -2033,7 +2033,8 @@ getDefaultXftFont (XlwMenuWidget mw)
|
||||||
static int
|
static int
|
||||||
openXftFont (XlwMenuWidget mw)
|
openXftFont (XlwMenuWidget mw)
|
||||||
{
|
{
|
||||||
char *fname = mw->menu.fontName;
|
char const *fname = mw->menu.fontName;
|
||||||
|
char *fname_minus = NULL;
|
||||||
|
|
||||||
mw->menu.xft_font = 0;
|
mw->menu.xft_font = 0;
|
||||||
mw->menu.default_face = fname && strcmp (fname, DEFAULT_FONTNAME) == 0;
|
mw->menu.default_face = fname && strcmp (fname, DEFAULT_FONTNAME) == 0;
|
||||||
|
|
@ -2047,8 +2048,8 @@ openXftFont (XlwMenuWidget mw)
|
||||||
--i;
|
--i;
|
||||||
if (fname[i] == ' ')
|
if (fname[i] == ' ')
|
||||||
{
|
{
|
||||||
fname = xstrdup (mw->menu.fontName);
|
fname = fname_minus = xstrdup (mw->menu.fontName);
|
||||||
fname[i] = '-';
|
fname_minus[i] = '-';
|
||||||
}
|
}
|
||||||
|
|
||||||
mw->menu.xft_font = XftFontOpenName (XtDisplay (mw), screen, fname);
|
mw->menu.xft_font = XftFontOpenName (XtDisplay (mw), screen, fname);
|
||||||
|
|
@ -2056,7 +2057,7 @@ openXftFont (XlwMenuWidget mw)
|
||||||
mw->menu.xft_font = getDefaultXftFont (mw);
|
mw->menu.xft_font = getDefaultXftFont (mw);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fname != mw->menu.fontName) xfree (fname);
|
xfree (fname_minus);
|
||||||
|
|
||||||
return mw->menu.xft_font != 0;
|
return mw->menu.xft_font != 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1707,7 +1707,8 @@ android_emacs_init (int argc, char **argv, char *dump_file)
|
||||||
/* Convert --script to -scriptload, un-skip it, and sort again
|
/* Convert --script to -scriptload, un-skip it, and sort again
|
||||||
so that it will be handled in proper sequence. */
|
so that it will be handled in proper sequence. */
|
||||||
/* FIXME broken for --script=FILE - is that supposed to work? */
|
/* FIXME broken for --script=FILE - is that supposed to work? */
|
||||||
argv[skip_args - 1] = (char *) "-scriptload";
|
static char const scriptload_option[] = "-scriptload";
|
||||||
|
argv[skip_args - 1] = (char *) scriptload_option;
|
||||||
skip_args -= 2;
|
skip_args -= 2;
|
||||||
sort_args (argc, argv);
|
sort_args (argc, argv);
|
||||||
}
|
}
|
||||||
|
|
@ -2112,7 +2113,8 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
|
||||||
argv[count_before + 2] = displayname;
|
argv[count_before + 2] = displayname;
|
||||||
argc++;
|
argc++;
|
||||||
}
|
}
|
||||||
argv[count_before + 1] = (char *) "-d";
|
static char const d_option[] = "-d";
|
||||||
|
argv[count_before + 1] = (char *) d_option;
|
||||||
}
|
}
|
||||||
#endif /* HAVE_X_WINDOWS */
|
#endif /* HAVE_X_WINDOWS */
|
||||||
|
|
||||||
|
|
@ -2130,7 +2132,8 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
|
||||||
noninteractive = 1;
|
noninteractive = 1;
|
||||||
no_site_lisp = 1;
|
no_site_lisp = 1;
|
||||||
/* This is picked up in startup.el. */
|
/* This is picked up in startup.el. */
|
||||||
argv[skip_args - 1] = (char *) "-scripteval";
|
static char const scripteval_option[] = "-scripteval";
|
||||||
|
argv[skip_args - 1] = (char *) scripteval_option;;
|
||||||
skip_args -= 1;
|
skip_args -= 1;
|
||||||
sort_args (argc, argv);
|
sort_args (argc, argv);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
28
src/widget.c
28
src/widget.c
|
|
@ -54,34 +54,34 @@ static XtGeometryResult EmacsFrameQueryGeometry (Widget, XtWidgetGeometry *,
|
||||||
#define offset(field) offsetof (EmacsFrameRec, emacs_frame.field)
|
#define offset(field) offsetof (EmacsFrameRec, emacs_frame.field)
|
||||||
|
|
||||||
static XtResource resources[] = {
|
static XtResource resources[] = {
|
||||||
{(char *) XtNgeometry, (char *) XtCGeometry, XtRString, sizeof (String),
|
{XtNgeometry, XtCGeometry, XtRString, sizeof (String),
|
||||||
offset (geometry), XtRString, (XtPointer) 0},
|
offset (geometry), XtRString, (XtPointer) 0},
|
||||||
{XtNiconic, XtCIconic, XtRBoolean, sizeof (Boolean),
|
{XtNiconic, XtCIconic, XtRBoolean, sizeof (Boolean),
|
||||||
offset (iconic), XtRImmediate, (XtPointer) False},
|
offset (iconic), XtRImmediate, (XtPointer) False},
|
||||||
|
|
||||||
{(char *) XtNemacsFrame, (char *) XtCEmacsFrame,
|
{XtNemacsFrame, XtCEmacsFrame,
|
||||||
XtRPointer, sizeof (XtPointer),
|
XtRPointer, sizeof (XtPointer),
|
||||||
offset (frame), XtRImmediate, 0},
|
offset (frame), XtRImmediate, 0},
|
||||||
|
|
||||||
{(char *) XtNminibuffer, (char *) XtCMinibuffer, XtRInt, sizeof (int),
|
{XtNminibuffer, XtCMinibuffer, XtRInt, sizeof (int),
|
||||||
offset (minibuffer), XtRImmediate, (XtPointer)0},
|
offset (minibuffer), XtRImmediate, (XtPointer)0},
|
||||||
{(char *) XtNunsplittable, (char *) XtCUnsplittable,
|
{XtNunsplittable, XtCUnsplittable,
|
||||||
XtRBoolean, sizeof (Boolean),
|
XtRBoolean, sizeof (Boolean),
|
||||||
offset (unsplittable), XtRImmediate, (XtPointer)0},
|
offset (unsplittable), XtRImmediate, (XtPointer)0},
|
||||||
{(char *) XtNinternalBorderWidth, (char *) XtCInternalBorderWidth,
|
{XtNinternalBorderWidth, XtCInternalBorderWidth,
|
||||||
XtRInt, sizeof (int),
|
XtRInt, sizeof (int),
|
||||||
offset (internal_border_width), XtRImmediate, (XtPointer)4},
|
offset (internal_border_width), XtRImmediate, (XtPointer)4},
|
||||||
{(char *) XtNinterline, (char *) XtCInterline, XtRInt, sizeof (int),
|
{XtNinterline, XtCInterline, XtRInt, sizeof (int),
|
||||||
offset (interline), XtRImmediate, (XtPointer)0},
|
offset (interline), XtRImmediate, (XtPointer)0},
|
||||||
{(char *) XtNforeground, (char *) XtCForeground, XtRPixel, sizeof (Pixel),
|
{XtNforeground, XtCForeground, XtRPixel, sizeof (Pixel),
|
||||||
offset (foreground_pixel), XtRString, (char *) "XtDefaultForeground"},
|
offset (foreground_pixel), XtRString, "XtDefaultForeground"},
|
||||||
{(char *) XtNcursorColor, (char *) XtCForeground, XtRPixel, sizeof (Pixel),
|
{XtNcursorColor, XtCForeground, XtRPixel, sizeof (Pixel),
|
||||||
offset (cursor_color), XtRString, (char *) "XtDefaultForeground"},
|
offset (cursor_color), XtRString, "XtDefaultForeground"},
|
||||||
{(char *) XtNbarCursor, (char *) XtCBarCursor, XtRBoolean, sizeof (Boolean),
|
{XtNbarCursor, XtCBarCursor, XtRBoolean, sizeof (Boolean),
|
||||||
offset (bar_cursor), XtRImmediate, (XtPointer)0},
|
offset (bar_cursor), XtRImmediate, (XtPointer)0},
|
||||||
{(char *) XtNvisualBell, (char *) XtCVisualBell, XtRBoolean, sizeof (Boolean),
|
{XtNvisualBell, XtCVisualBell, XtRBoolean, sizeof (Boolean),
|
||||||
offset (visual_bell), XtRImmediate, (XtPointer)0},
|
offset (visual_bell), XtRImmediate, (XtPointer)0},
|
||||||
{(char *) XtNbellVolume, (char *) XtCBellVolume, XtRInt, sizeof (int),
|
{XtNbellVolume, XtCBellVolume, XtRInt, sizeof (int),
|
||||||
offset (bell_volume), XtRImmediate, (XtPointer)0},
|
offset (bell_volume), XtRImmediate, (XtPointer)0},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -106,7 +106,7 @@ emacsFrameTranslations [] = "\
|
||||||
static EmacsFrameClassRec emacsFrameClassRec = {
|
static EmacsFrameClassRec emacsFrameClassRec = {
|
||||||
{ /* core fields */
|
{ /* core fields */
|
||||||
/* superclass */ 0, /* filled in by emacsFrameClass */
|
/* superclass */ 0, /* filled in by emacsFrameClass */
|
||||||
/* class_name */ (char *) "EmacsFrame",
|
/* class_name */ "EmacsFrame",
|
||||||
/* widget_size */ sizeof (EmacsFrameRec),
|
/* widget_size */ sizeof (EmacsFrameRec),
|
||||||
/* class_initialize */ 0,
|
/* class_initialize */ 0,
|
||||||
/* class_part_initialize */ 0,
|
/* class_part_initialize */ 0,
|
||||||
|
|
|
||||||
|
|
@ -18571,12 +18571,12 @@ update_redisplay_ticks (int ticks, struct window *w)
|
||||||
windows, not expected here) or nil (for pseudo-windows like
|
windows, not expected here) or nil (for pseudo-windows like
|
||||||
the one used for the native tool bar). */
|
the one used for the native tool bar). */
|
||||||
Lisp_Object contents = w ? w->contents : Qnil;
|
Lisp_Object contents = w ? w->contents : Qnil;
|
||||||
char *bufname =
|
char const *bufname =
|
||||||
NILP (contents)
|
NILP (contents)
|
||||||
? SSDATA (BVAR (current_buffer, name))
|
? SSDATA (BVAR (current_buffer, name))
|
||||||
: (BUFFERP (contents)
|
: (BUFFERP (contents)
|
||||||
? SSDATA (BVAR (XBUFFER (contents), name))
|
? SSDATA (BVAR (XBUFFER (contents), name))
|
||||||
: (char *) "<unknown>");
|
: "<unknown>");
|
||||||
|
|
||||||
windows_or_buffers_changed = 177;
|
windows_or_buffers_changed = 177;
|
||||||
/* scrolling_window depends too much on the glyph matrices being
|
/* scrolling_window depends too much on the glyph matrices being
|
||||||
|
|
|
||||||
10
src/xfns.c
10
src/xfns.c
|
|
@ -4226,10 +4226,10 @@ x_window (struct frame *f, long window_prompting)
|
||||||
|
|
||||||
ac = 0;
|
ac = 0;
|
||||||
XtSetArg (al[ac], XtNmappedWhenManaged, 0); ac++;
|
XtSetArg (al[ac], XtNmappedWhenManaged, 0); ac++;
|
||||||
XtSetArg (al[ac], (char *) XtNshowGrip, 0); ac++;
|
XtSetArg (al[ac], XtNshowGrip, 0); ac++;
|
||||||
XtSetArg (al[ac], (char *) XtNallowResize, 1); ac++;
|
XtSetArg (al[ac], XtNallowResize, 1); ac++;
|
||||||
XtSetArg (al[ac], (char *) XtNresizeToPreferred, 1); ac++;
|
XtSetArg (al[ac], XtNresizeToPreferred, 1); ac++;
|
||||||
XtSetArg (al[ac], (char *) XtNemacsFrame, f); ac++;
|
XtSetArg (al[ac], XtNemacsFrame, f); ac++;
|
||||||
XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++;
|
XtSetArg (al[ac], XtNvisual, FRAME_X_VISUAL (f)); ac++;
|
||||||
XtSetArg (al[ac], XtNdepth, FRAME_DISPLAY_INFO (f)->n_planes); ac++;
|
XtSetArg (al[ac], XtNdepth, FRAME_DISPLAY_INFO (f)->n_planes); ac++;
|
||||||
XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++;
|
XtSetArg (al[ac], XtNcolormap, FRAME_X_COLORMAP (f)); ac++;
|
||||||
|
|
@ -9632,7 +9632,7 @@ DEFUN ("x-file-dialog", Fx_file_dialog, Sx_file_dialog, 2, 5, 0,
|
||||||
if (result == XmCR_OK)
|
if (result == XmCR_OK)
|
||||||
{
|
{
|
||||||
XmString text_string;
|
XmString text_string;
|
||||||
String data;
|
char *data;
|
||||||
|
|
||||||
XtVaGetValues (dialog, XmNtextString, &text_string, NULL);
|
XtVaGetValues (dialog, XmNtextString, &text_string, NULL);
|
||||||
XmStringGetLtoR (text_string, XmFONTLIST_DEFAULT_TAG, &data);
|
XmStringGetLtoR (text_string, XmFONTLIST_DEFAULT_TAG, &data);
|
||||||
|
|
|
||||||
|
|
@ -1795,7 +1795,7 @@ create_and_show_popup_menu (struct frame *f, widget_value *first_wv,
|
||||||
event->button = i;
|
event->button = i;
|
||||||
|
|
||||||
/* Don't allow any geometry request from the user. */
|
/* Don't allow any geometry request from the user. */
|
||||||
XtSetArg (av[ac], (char *) XtNgeometry, 0); ac++;
|
XtSetArg (av[ac], XtNgeometry, 0); ac++;
|
||||||
XtSetValues (menu, av, ac);
|
XtSetValues (menu, av, ac);
|
||||||
|
|
||||||
#ifdef HAVE_XINPUT2
|
#ifdef HAVE_XINPUT2
|
||||||
|
|
|
||||||
32
src/xterm.c
32
src/xterm.c
|
|
@ -30455,21 +30455,21 @@ x_free_pixmap (struct frame *f, Emacs_Pixmap pixmap)
|
||||||
|
|
||||||
#ifdef USE_X_TOOLKIT
|
#ifdef USE_X_TOOLKIT
|
||||||
static XrmOptionDescRec emacs_options[] = {
|
static XrmOptionDescRec emacs_options[] = {
|
||||||
{(char *) "-geometry", (char *) ".geometry", XrmoptionSepArg, NULL},
|
{"-geometry", ".geometry", XrmoptionSepArg, NULL},
|
||||||
{(char *) "-iconic", (char *) ".iconic", XrmoptionNoArg, (XtPointer) "yes"},
|
{"-iconic", ".iconic", XrmoptionNoArg, (XtPointer) "yes"},
|
||||||
|
|
||||||
{(char *) "-internal-border-width",
|
{"-internal-border-width",
|
||||||
(char *) "*EmacsScreen.internalBorderWidth", XrmoptionSepArg, NULL},
|
"*EmacsScreen.internalBorderWidth", XrmoptionSepArg, NULL},
|
||||||
{(char *) "-ib", (char *) "*EmacsScreen.internalBorderWidth",
|
{"-ib", "*EmacsScreen.internalBorderWidth",
|
||||||
XrmoptionSepArg, NULL},
|
XrmoptionSepArg, NULL},
|
||||||
{(char *) "-T", (char *) "*EmacsShell.title", XrmoptionSepArg, NULL},
|
{"-T", "*EmacsShell.title", XrmoptionSepArg, NULL},
|
||||||
{(char *) "-wn", (char *) "*EmacsShell.title", XrmoptionSepArg, NULL},
|
{"-wn", "*EmacsShell.title", XrmoptionSepArg, NULL},
|
||||||
{(char *) "-title", (char *) "*EmacsShell.title", XrmoptionSepArg, NULL},
|
{"-title", "*EmacsShell.title", XrmoptionSepArg, NULL},
|
||||||
{(char *) "-iconname", (char *) "*EmacsShell.iconName",
|
{"-iconname", "*EmacsShell.iconName",
|
||||||
XrmoptionSepArg, NULL},
|
XrmoptionSepArg, NULL},
|
||||||
{(char *) "-in", (char *) "*EmacsShell.iconName", XrmoptionSepArg, NULL},
|
{"-in", "*EmacsShell.iconName", XrmoptionSepArg, NULL},
|
||||||
{(char *) "-mc", (char *) "*pointerColor", XrmoptionSepArg, NULL},
|
{"-mc", "*pointerColor", XrmoptionSepArg, NULL},
|
||||||
{(char *) "-cr", (char *) "*cursorColor", XrmoptionSepArg, NULL}
|
{"-cr", "*cursorColor", XrmoptionSepArg, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Whether atimer for Xt timeouts is activated or not. */
|
/* Whether atimer for Xt timeouts is activated or not. */
|
||||||
|
|
@ -30797,11 +30797,13 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
|
||||||
int argc = 0;
|
int argc = 0;
|
||||||
char *argv[3];
|
char *argv[3];
|
||||||
|
|
||||||
argv[0] = (char *) "";
|
static char const mt[] = "";
|
||||||
|
argv[0] = (char *) mt;
|
||||||
argc = 1;
|
argc = 1;
|
||||||
if (xrm_option)
|
if (xrm_option)
|
||||||
{
|
{
|
||||||
argv[argc++] = (char *) "-xrm";
|
static char const xrmopt[] = "-xrm";
|
||||||
|
argv[argc++] = (char *) xrmopt;
|
||||||
argv[argc++] = xrm_option;
|
argv[argc++] = xrm_option;
|
||||||
}
|
}
|
||||||
turn_on_atimers (false);
|
turn_on_atimers (false);
|
||||||
|
|
@ -31612,7 +31614,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
|
||||||
dpy = dpyinfo->display;
|
dpy = dpyinfo->display;
|
||||||
d.addr = (XPointer) &dpy;
|
d.addr = (XPointer) &dpy;
|
||||||
d.size = sizeof (Display *);
|
d.size = sizeof (Display *);
|
||||||
fr.addr = (char *) XtDefaultFont;
|
fr.addr = XtDefaultFont;
|
||||||
fr.size = sizeof (XtDefaultFont);
|
fr.size = sizeof (XtDefaultFont);
|
||||||
to.size = sizeof (Font *);
|
to.size = sizeof (Font *);
|
||||||
to.addr = (XPointer) &font;
|
to.addr = (XPointer) &font;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue