CVSROOT: /cvs/gnome Module name: gnome-menus Changes by: markmc 05/04/05 17:04:46
Modified files: . : ChangeLog libmenu : desktop-entries.c entry-directories.c menu-tree.c Log message: 2005-04-05 Mark McLoughlin <[EMAIL PROTECTED]> Fix memory leaks on reload - bug #172472 [http://bugzilla.gnome.org/show_bug.cgi?id=172472]. Basically, because of a cyclic reference we were leaking the entire tree every time we reloaded. * libmenu/menu-tree.c: (menu_tree_item_set_parent): add. (menu_tree_directory_finalize): unset the parent reference on all items before unreffing them. (menu_tree_directory_new), (menu_tree_separator_new), (menu_tree_header_new), (menu_tree_alias_new), (menu_tree_entry_new): don't take a ref on the parent. (menu_tree_item_unref_and_unset_parent): helper function. (process_layout), (process_only_unallocated), (merge_subdir), (process_layout_info): update the parent reference on items when deleting them or moving them between directories. * libmenu/desktop-entries.c: (desktop_entry_reload): add debug. * libmenu/entry-directories.c: (cached_dir_update_entry): don't unref the entry if reloading fails - desktop_entry_reload () does that. URL : http://cvs.gnome.org/bonsai/cvsquery.cgi?branch=&dir=gnome-menus&who=markmc&date=explicit&mindate=2005-04-05%2017:03&maxdate=2005-04-05%2017:05 _______________________________________________ cvs-commits-list mailing list cvs-commits-list@gnome.org http://mail.gnome.org/mailman/listinfo/cvs-commits-list