Comment 7 for bug 1294545

Revision history for this message
Charles Kerr (charlesk) wrote :

IndicatorAppmenu.desktop_menu is the bad pointer being passed in. It's a weak reference -- the ref is owned by the IndicatorAppmenu.apps hashtable.

The user's log shows a lot of bamf errors and 0 window ids being thrown around. It looks like we could harden indicator-appmenu.c's menu unregister code: the current logic discards the windowid passed into register_window and instead returns the one for wm->get_xid(). Also, the wm is unrefed even if menus_destroyed() hit a g_return_if_fail(). These work fine when things are sane, but we should fail more gracefully when we're getting lots of ``Failed to fetch xid'' messages in the log too.