Comment 5 for bug 785852

Revision history for this message
Michael Terry (mterry) wrote :

And the reason it works in bugtest2 is because it seems like the appmenu waits to create its representation of the menu until the next idle check, so it will see the reordered child list. But libappindicator creates it immediately, before the child list is reordered.

If you change bugtest2 to wait a bit before reordering like below, you'll see the bug there too:

Glib::signal_timeout().connect(sigc::ptr_fun(&timeout_cb), 3000);

So this is a generic problem. We could make it better in some corner cases by delaying until the next idle call, but that won't fix the underlying issue, which is that we don't get notified of reorders.