From 3327c2351e9166f86387bd4211ed3337b54eeb62 Mon Sep 17 00:00:00 2001 From: Fred Pierresteguy Date: Tue, 15 Feb 1994 13:59:18 +0000 Subject: *** empty log message *** --- lwlib/lwlib-Xlw.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'lwlib/lwlib-Xlw.c') diff --git a/lwlib/lwlib-Xlw.c b/lwlib/lwlib-Xlw.c index d34a012ae3c..b7268bc12d0 100644 --- a/lwlib/lwlib-Xlw.c +++ b/lwlib/lwlib-Xlw.c @@ -88,6 +88,9 @@ xlw_create_menubar (instance) instance->parent, XtNmenu, instance->info->val, 0); + + XtFree (tem); + XtAddCallback (widget, XtNopen, pre_hook, (XtPointer)instance); XtAddCallback (widget, XtNselect, pick_hook, (XtPointer)instance); return widget; @@ -101,13 +104,23 @@ xlw_create_popup_menu (instance) XtCreatePopupShell (instance->info->name, overrideShellWidgetClass, instance->parent, NULL, 0); - Widget widget = + Widget widget; + + widget_value *tem = (widget_value *) XtMalloc (sizeof (widget_value)); + + /* _XtCreate is freeing the object we passed, + so make a copy that we free later. */ + bcopy (instance->info->val, tem, sizeof (widget_value)); + + widget = XtVaCreateManagedWidget ("popup", xlwMenuWidgetClass, popup_shell, XtNmenu, instance->info->val, XtNhorizontal, False, 0); + XtFree (tem); + XtAddCallback (widget, XtNselect, pick_hook, (XtPointer)instance); return popup_shell; -- cgit v1.2.1