* xlwmenu.c (openXftFont): Do not load regular X font here.
(XlwMenuInitialize): Remove ancient #if 0 code. (XlwMenuDestroy): Likewise. Free regular X font here.
This commit is contained in:
parent
827a3c3d8e
commit
0882152e22
2 changed files with 17 additions and 27 deletions
|
@ -1,3 +1,9 @@
|
|||
2014-06-03 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
* xlwmenu.c (openXftFont): Do not load regular X font here.
|
||||
(XlwMenuInitialize): Remove ancient #if 0 code.
|
||||
(XlwMenuDestroy): Likewise. Free regular X font here.
|
||||
|
||||
2014-06-02 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
Use common memory management functions for widgets.
|
||||
|
|
|
@ -1863,16 +1863,9 @@ openXftFont (XlwMenuWidget mw)
|
|||
fname[i] = '-';
|
||||
}
|
||||
|
||||
mw->menu.font = XLoadQueryFont (XtDisplay (mw), fname);
|
||||
if (!mw->menu.font)
|
||||
{
|
||||
mw->menu.xft_font = XftFontOpenName (XtDisplay (mw), screen, fname);
|
||||
if (!mw->menu.xft_font)
|
||||
{
|
||||
fprintf (stderr, "Can't find font '%s'\n", fname);
|
||||
mw->menu.xft_font = getDefaultXftFont (mw);
|
||||
}
|
||||
}
|
||||
mw->menu.xft_font = XftFontOpenName (XtDisplay (mw), screen, fname);
|
||||
if (!mw->menu.xft_font)
|
||||
mw->menu.xft_font = getDefaultXftFont (mw);
|
||||
}
|
||||
|
||||
if (fname != mw->menu.fontName) xfree (fname);
|
||||
|
@ -1889,15 +1882,6 @@ XlwMenuInitialize (Widget request, Widget w, ArgList args, Cardinal *num_args)
|
|||
Window window = RootWindowOfScreen (DefaultScreenOfDisplay (XtDisplay (mw)));
|
||||
Display* display = XtDisplay (mw);
|
||||
|
||||
#if 0
|
||||
widget_value *tem = (widget_value *) XtMalloc (sizeof (widget_value));
|
||||
|
||||
/* _XtCreate is freeing the object that was passed to us,
|
||||
so make a copy that we will actually keep. */
|
||||
memcpy (tem, mw->menu.contents, sizeof (widget_value));
|
||||
mw->menu.contents = tem;
|
||||
#endif
|
||||
|
||||
/* mw->menu.cursor = XCreateFontCursor (display, mw->menu.cursor_shape); */
|
||||
mw->menu.cursor = mw->menu.cursor_shape;
|
||||
|
||||
|
@ -2074,19 +2058,15 @@ XlwMenuDestroy (Widget w)
|
|||
XFreePixmap (XtDisplay (mw), mw->menu.gray_pixmap);
|
||||
mw->menu.gray_pixmap = (Pixmap) -1;
|
||||
|
||||
#if 0
|
||||
/* Do free mw->menu.contents because nowadays we copy it
|
||||
during initialization. */
|
||||
XtFree (mw->menu.contents);
|
||||
#endif
|
||||
|
||||
/* Don't free mw->menu.contents because that comes from our creator.
|
||||
The `*_stack' elements are just pointers into `contents' so leave
|
||||
that alone too. But free the stacks themselves. */
|
||||
if (mw->menu.old_stack) XtFree ((char *) mw->menu.old_stack);
|
||||
if (mw->menu.new_stack) XtFree ((char *) mw->menu.new_stack);
|
||||
|
||||
/* Remember, you can't free anything that came from the resource
|
||||
/* Original comment was:
|
||||
|
||||
Remember, you can't free anything that came from the resource
|
||||
database. This includes:
|
||||
mw->menu.cursor
|
||||
mw->menu.top_shadow_pixmap
|
||||
|
@ -2095,7 +2075,11 @@ XlwMenuDestroy (Widget w)
|
|||
Also the color cells of top_shadow_color, bottom_shadow_color,
|
||||
foreground, and button_foreground will never be freed until this
|
||||
client exits. Nice, eh?
|
||||
*/
|
||||
|
||||
But now I can free font without any visible glitches. */
|
||||
|
||||
if (mw->menu.font)
|
||||
XFreeFont (XtDisplay (mw), mw->menu.font);
|
||||
|
||||
#ifdef HAVE_XFT
|
||||
if (mw->menu.windows [0].xft_draw)
|
||||
|
|
Loading…
Add table
Reference in a new issue