]> git.eshelyaron.com Git - emacs.git/commitdiff
lwlib-Xm.c: Fixed memory leak for menus.
authorJan Djärv <jan.h.d@swipnet.se>
Mon, 27 Jan 2003 18:47:01 +0000 (18:47 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Mon, 27 Jan 2003 18:47:01 +0000 (18:47 +0000)
lwlib/ChangeLog
lwlib/lwlib-Xm.c

index 1f7338784cec3661eed83256f318bfc47e1e7448..6193f8ecf997ad783bdb9806ad04ffcd00242338 100644 (file)
@@ -1,3 +1,9 @@
+2003-01-27  Jan Dj\e,Ad\e(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.
index 766d3554e24a90e150d9568fa935b2721b1853bc..8aa08187e4c0e918a3505df49d40297ead19c41c 100644 (file)
@@ -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)