Unfortunately we probably can't fix this in a hurry.
It works in Unity7 because X allows the toolkit to acquire a pointer grab when a context menu opens. Then when the user clicks anywhere outside the menu, the menu is still the one that gets that event and it closes itself.
Such grabs are disallowed in the Unity8 architecture (last time I checked), so some apps relying on the old grabbing functionality will not auto-close their menus.
I think Unity8/Mir's preferred solution was for all toolkits to close their context menus when they lose focus. However that also won't work in future when we fix Mir to support menus that don't actually receive focus (bug 1671771, bug 1625846, bug 1671744, bug 1662733).
Unfortunately we probably can't fix this in a hurry.
It works in Unity7 because X allows the toolkit to acquire a pointer grab when a context menu opens. Then when the user clicks anywhere outside the menu, the menu is still the one that gets that event and it closes itself.
Such grabs are disallowed in the Unity8 architecture (last time I checked), so some apps relying on the old grabbing functionality will not auto-close their menus.
I think Unity8/Mir's preferred solution was for all toolkits to close their context menus when they lose focus. However that also won't work in future when we fix Mir to support menus that don't actually receive focus (bug 1671771, bug 1625846, bug 1671744, bug 1662733).
Needs a solution from architecture/ design. ..