Confirming what njpatel says, however indicator-appmenu really when a menus-less dialog is mapped, quickly notifies two events for each menu item: entry-removed and entry-added. However, since they're quite immediate, the UI (unity/unity-2d) doesn't take care of them since they're too near (and the panel-service sends events limiting them with a timeout).
An easy way to see that is to add some g_debug code into entry_added and entry_removed in panel-service.c, then run the service in your terminal and open the menu Terminal -> Set Title... You'll notice what I'm telling.
So indicator-appmenu basically seems to do the wrong thing by first removing the indicators and then re-adding them all.
Confirming what njpatel says, however indicator-appmenu really when a menus-less dialog is mapped, quickly notifies two events for each menu item: entry-removed and entry-added. However, since they're quite immediate, the UI (unity/unity-2d) doesn't take care of them since they're too near (and the panel-service sends events limiting them with a timeout).
An easy way to see that is to add some g_debug code into entry_added and entry_removed in panel-service.c, then run the service in your terminal and open the menu Terminal -> Set Title... You'll notice what I'm telling.
So indicator-appmenu basically seems to do the wrong thing by first removing the indicators and then re-adding them all.