Overriding ComboBox::showPopup breaks isPopupActive() and hidePopup() if called from external source

ComboBox::showPopup sets a private field, menuActive, to true. If you override showPopup and then call it from an external source, isPopupActive() will return false, even though it is, in fact showing. Similarly, hidePopup() will not work in this case.

These methods do work if the menu is triggered via mouse or keypress. Nevertheless, it’s helpful to be able to use the public interface to ComboBox so you can do things like attach a combobox’s menu/logic to a drawable button, so that when you click the button, you get the popup.

Could we get a protected method to set the flag, or access to the flag as a protected field?