In some circumstances, TMDIChild::EvMDIActivate fails to restore the main menu:
Bug 1 is clearly just an oversight. Bug 2 may be an attempt at an optimisation, assuming that there was no merging for a descriptor-less child, so there should be no need to restore anything when deactivating all. However, this does not take into account that the state of the child, in particular whether it has a descriptor or not, may have changed in between activation and deactivation.
These bugs can be observed in the Classes example by commenting out the descriptors for the MDI children with dummy empty descriptors (such as in CmTScroller). Switching between MDI children with or without descriptors will then surface bug 1. Activating a child without descriptor and then closing all (Window | Close All) will surface bug 2.
PS. Note that these bugs have been present since OWL 5, if not longer.
Discussion: Running out of (menu) handles
Wiki: OWLNext_Roadmap_and_Prereleases
A fix for this issue has been implemented on the trunk [r7724] and merged into Owlet [r7725].
Related
Commit: [r7724]
Commit: [r7725]