2005-08-22  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: Version 2.11.92.
	
2005-08-22  Mark McLoughlin  <mark@skynet.ie>

	Based on patch from Chris Lahey <clahey@ximian.com>
	in bug #313899

	* libmenu/entry-directories.c:
	(get_desktop_file_id_from_path): pass the DesktopEntryType
	instead of using EntryDirectory:entry_type which may
	be DESKTOP_ENTRY_INVALID with <LegacyDir>
	(entry_directory_foreach_recursive),
	(entry_directory_get_flat_contents): pass the appropriate
	entry type.

2005-08-18  Mark McLoughlin  <mark@skynet.ie>

	Patch from Federic Crozat <fcrozat@mandriva.com>

	* libmenu/entry-directories.c:
	(cached_dir_remove_reference): Fix infinite loop.

2005-08-18  Mark McLoughlin  <mark@skynet.ie>

	Fixes "duplicate entry" issue in bug #313624
	
	* libmenu/entry-directories.c:
	(handle_cached_dir_changed): Look up the CachedDir
	for the parent of whatever path we're being notified
	about - we could be getting notified about ourself
	being created/deleted.
	
2005-08-18  Mark McLoughlin  <mark@skynet.ie>

	Obfuscate this code some more. Basic issue is that if an
	EntryDirectory has a subdir which is also an EntryDirectory
	and the subdir gets deleted, then the CachedDir for the subdir
	gets freed leaving us with a dangling reference in the
	EntryDirectory.

	* libmenu/entry-directories.c:
	(cached_dir_find_relative_path),
	(cached_dir_lookup): remove infinite loop code path.
	(cached_dir_add_subdir): if the subdir already exists
	but is deleted, just undelete it.
	(cached_dir_remove_subdir): if the subdir is referenced
	by an EntryDirectory, just mark it as deleted and don't
	free it.
	(cached_dir_add_reference),
	(cached_dir_remove_reference): keep track of how many
	EntryDirectories reference a CachedDir. If the count
	falls to zero and the CachedDir is marked as deleted,
	free it.
	(entry_directory_new_full): add a reference here.
	(entry_directory_unref): remove it here.
	(entry_directory_foreach_recursive),
	(entry_directory_get_flat_contents): don't list the
	contents of a dir if its marked as deleted.

2005-08-17  Mark McLoughlin  <mark@skynet.ie>

	* libmenu/entry-directories.c:
	(cached_dir_clear_entries),
	(cached_dir_clear_subdirs): remove
	(cached_dir_free): free the subdirs and entries
	directly here.
	(cached_dir_load_entries_recursive): no need to
	free the entries here - there shouldn't be any at this
	point.
	(cached_dir_load): remove.
	(entry_directory_new_full): lookup and load the
	CachedDir directly here.

2005-08-17  Mark McLoughlin  <mark@skynet.ie>

	* libmenu/entry-directories.c:
	(cached_dir_get_full_path),
	(cached_dir_ensure_loaded),
	(cached_dir_get_subdirs),
	(cached_dir_get_entries): remove all this code.
	(entry_directory_foreach_recursive),
	(entry_directory_get_flat_contents): directly reference
	a CachedDir's subdirs and entries lists since we can
	be sure they're always already loaded - they get loaded
	in entry_directory_new_full()

2005-08-14  Elijah Newren  <newren@gmail.com>

	* libmenu/menu-monitor.c: Pull menu_monitor_notify_ref() and
	menu_monitor_notify_unref() out of the #ifdef HAVE_FAM to fix a
	compilation issue.

2005-08-14  Mark McLoughlin  <mark@skynet.ie>

	* simple-editor/GMenuSimpleEditor/main.py:
	Fix a python syntax warning.

2005-08-12  Mark McLoughlin  <mark@skynet.ie>

	Fixes bug #313232 - memory corruption issue where notifies
	were being removed from under us as we walked the list of
	notifies.

	* libmenu/menu-monitor.c:
	(menu_monitor_notify_ref),
	(menu_monitor_notify_unref): make MenuMonitorNotify refcounted.
	(menu_monitor_add_notify): set initial refcount.
	(menu_monitor_remove_notify): when removing the notify, unset
	the callback pointer and unref.
	(invoke_notifies): make a copy of the notifies list and
	ref each notify before invoking the callbacks - callbacks
	may cause arbitrary notifies to be removed as we walk the
	list.
	(menu_monitor_unref): unref each of the notifies rather
	than freeing them.

2005-08-09  Mark McLoughlin  <mark@skynet.ie>

	* configure.in: post-release bump to 2.11.92.

==================== 2.11.91 ====================