}
else
{
- wv->name = string_chars;
+ wv->name = xstrdup (string_chars);
wv->enabled = 1;
/* dverna Dec. 98: command_builder_operate_menu_accelerator will
manipulate the accel as a Lisp_Object if the widget has a name.
wv->type = CASCADE_TYPE;
wv->enabled = 1;
wv->name = (char *) XSTRING_DATA (LISP_GETTEXT (XCAR (desc)));
+ wv->name = xstrdup (wv->name);
accel = gui_name_accelerator (LISP_GETTEXT (XCAR (desc)));
wv->accel = LISP_TO_VOID (accel);
incr_wv->type = INCREMENTAL_TYPE;
incr_wv->enabled = 1;
incr_wv->name = wv->name;
+ incr_wv->name = xstrdup (wv->name);
/* This is automatically GC protected through
the call to lw_map_widget_values(); no need
to worry. */
widget_value *title_wv = xmalloc_widget_value ();
widget_value *sep_wv = xmalloc_widget_value ();
title_wv->type = TEXT_TYPE;
- title_wv->name = wv->name;
+ title_wv->name = xstrdup (wv->name);
title_wv->enabled = 1;
title_wv->next = sep_wv;
sep_wv->type = SEPARATOR_TYPE;
widget_value *dummy;
/* Add a fake entry so the menus show up */
wv->contents = dummy = xmalloc_widget_value ();
- dummy->name = "(inactive)";
+ dummy->name = xstrdup ("(inactive)");
dummy->accel = LISP_TO_VOID (Qnil);
dummy->enabled = 0;
dummy->selected = 0;
}
else if (menubar_root_p)
{
- wv->name = (char *) "menubar";
+ wv->name = xstrdup ("menubar");
wv->type = CASCADE_TYPE; /* Well, nothing else seems to fit and
this is ignored anyway... */
}
wv->accel = LISP_TO_VOID (Qnil);
wv->contents = xmalloc_widget_value ();
wv->contents->type = TEXT_TYPE;
- wv->contents->name = (char *) "No menu";
+ wv->contents->name = xstrdup ("No menu");
wv->contents->next = NULL;
wv->contents->accel = LISP_TO_VOID (Qnil);
}
if (eev)
{
Position shellx, shelly, framex, framey;
- Widget shell = XtParent (daddy);
Arg al [2];
btn->time = eev->timestamp;
btn->button = eev->event.button.button;
btn->subwindow = (Window) NULL;
btn->x = eev->event.button.x;
btn->y = eev->event.button.y;
- XtSetArg (al [0], XtNx, &shellx);
- XtSetArg (al [1], XtNy, &shelly);
- XtGetValues (shell, al, 2);
+ shellx = shelly = 0;
+#ifndef HAVE_WMCOMMAND
+ {
+ Widget shell = XtParent (daddy);
+
+ XtSetArg (al [0], XtNx, &shellx);
+ XtSetArg (al [1], XtNy, &shelly);
+ XtGetValues (shell, al, 2);
+ }
+#endif
XtSetArg (al [0], XtNx, &framex);
XtSetArg (al [1], XtNy, &framey);
XtGetValues (daddy, al, 2);
}
void
-vars_of_menubar_x (void)
+reinit_vars_of_menubar_x (void)
{
last_popup_menu_selection_callback_id = (LWLIB_ID) -1;
+}
+
+void
+vars_of_menubar_x (void)
+{
+ reinit_vars_of_menubar_x ();
#if defined (LWLIB_MENUBARS_LUCID)
Fprovide (intern ("lucid-menubars"));