summaryrefslogtreecommitdiff
path: root/lwlib/lwlib-Xlw.c
diff options
context:
space:
mode:
authorFred Pierresteguy <F.Pierresteguy@frcl.bull.fr>1994-02-15 13:59:18 +0000
committerFred Pierresteguy <F.Pierresteguy@frcl.bull.fr>1994-02-15 13:59:18 +0000
commit19240c203a1954740cc3a577f3e83f60762134cf (patch)
tree829aa47f746d88cace12c35c89e35fe163c0af2a /lwlib/lwlib-Xlw.c
parent9acc68b10b087a8b19add634cdec7f66d6caf51f (diff)
downloademacs-19240c203a1954740cc3a577f3e83f60762134cf.tar.gz
*** empty log message ***
Diffstat (limited to 'lwlib/lwlib-Xlw.c')
-rw-r--r--lwlib/lwlib-Xlw.c15
1 files changed, 14 insertions, 1 deletions
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;