19:16 <+kelnos|work> JPohlmann: hey, i noticed yesterday that libxfce4menu is putting a copy of all .desktop files in the 'Other' toplevel menu. what's up with that? 19:17 <+JPohlmann> kelnos|laptop: Hmm. Maybe <Include><All/></Include> collides with <OnlyUnallocated/>. That would be a bug at my end then.
This actually is an issue related to the menu item cache. One important feature of the item cache is that it takes a reference on all menu items used. This makes it possible to increment an allocation counter whenever an item is included into a menu. Now if we disable the item cache, we cannot use this allocation counting trick any more (which is unavoidable if we want to follow the spec!). Maybe you remember: I disabled the item cache some time ago due to changes not becoming visible even with monitoring support. Im going to post a message similar to this in reply to other related bug reports: I've re-added the menu item cache together with a new method: xfce_menu_item_cache_invalidate (XfceMenuItemCache *). In the desktop_menu_something_changed() method in xfdesktop, just call this and re-create your menu afterwards. That will solve both problems: the allocation counting is back and all menu items will be parsed again when something has changed.
How about this one - still valid?
Yes, but I wonder if it's related to the crashes -- perhaps this happens when the we have references to freed XfceMenuItems but nobody else is using the memory so it doesn't crash...
Oh, wait, no, I'm being stupid. I thought this wasbug #4342. This is fixed.