CVSROOT:        /cvs/gnome
Module name:    gnome-menus
Changes by:     markmc  05/04/05 17:04:31

Modified files:
        .              : Tag: gnome-2-10 ChangeLog 
        libmenu        : Tag: gnome-2-10 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_directory_unref_and_unset_parent),
(menu_tree_entry_unref_and_unset_parent): helper functions.
(menu_tree_directory_unref): unset the parent reference
on entries and subdirs before unreffing them.
(menu_tree_entry_new): don't take a ref on the parent.
(process_layout), (process_only_unallocated): unset the
parent reference when deleting entries and subdirs.

* 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

Reply via email to