diff options
author | Jan Djärv <jan.h.d@swipnet.se> | 2003-01-27 18:47:01 +0000 |
---|---|---|
committer | Jan Djärv <jan.h.d@swipnet.se> | 2003-01-27 18:47:01 +0000 |
commit | f086b1b603ce15825abf0f83d6f1bb09e2116dc7 (patch) | |
tree | b50b24380cbcbb0d8168e53b0190eb3d169873c3 | |
parent | b5d27d5ddb32c33700752f0b1023f36d55aaf568 (diff) | |
download | emacs-f086b1b603ce15825abf0f83d6f1bb09e2116dc7.tar.gz |
lwlib-Xm.c: Fixed memory leak for menus.
-rw-r--r-- | lwlib/ChangeLog | 6 | ||||
-rw-r--r-- | lwlib/lwlib-Xm.c | 8 |
2 files changed, 13 insertions, 1 deletions
diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index 1f7338784ce..6193f8ecf99 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog @@ -1,3 +1,9 @@ +2003-01-27 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> + + * lwlib-Xm.c (update_one_menu_entry): Deallocate widget_list. + (destroy_all_children): Call it self to destroy sub menu children. + + 2002-03-16 Eli Zaretskii <eliz@is.elta.co.il> * Version 21.2 released. diff --git a/lwlib/lwlib-Xm.c b/lwlib/lwlib-Xm.c index 766d3554e24..8aa08187e4c 100644 --- a/lwlib/lwlib-Xm.c +++ b/lwlib/lwlib-Xm.c @@ -265,7 +265,10 @@ destroy_all_children (widget, first_child_to_destroy) XtSetArg (al[0], XmNsubMenuId, &submenu); XtGetValues (children[i], al, 1); if (submenu) - XtDestroyWidget (submenu); + { + destroy_all_children (submenu, 0); + XtDestroyWidget (submenu); + } XtDestroyWidget (children[i]); } @@ -731,6 +734,9 @@ update_one_menu_entry (instance, widget, val, deep_p) (XtPointer)instance); XtManageChild (button); } + + if (widget_list) + XtFree ((char*) widget_list); } } else if (!contents) |