Cocoa: application menu items sometimes get duplicated
authorRichard Moe Gustavsen <richard.gustavsen@digia.com>
Wed, 17 Oct 2012 13:14:03 +0000 (15:14 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Wed, 14 Nov 2012 11:29:01 +0000 (12:29 +0100)
commit85ff27d9ec485e87936c60c3e49b2e26d0b3946a
tree9eb1932c25a7a462ec0649a071d3216cda61e0f9
parent9cdcd2f6398e082e0211215483e1a1574ddb322f
Cocoa: application menu items sometimes get duplicated

Under some circumstances, the same menu item appears several times
in the application menu in the menu bar. This can be seen in Qt creator,
where "About Qt Creator" appears twize.

The reason is that QCocoaMenu::syncMenuItem does not take into account
that merged items cannot be found in the QCocoaMenu that owns the
menuItem, but rather inside the application menu. And because of this,
it fails cleaning up the old item when it changes from e.g
TextHeuristicRole to ApplicationRole.

This patch will fix this.

Change-Id: Ia84f552d1788d80d778c7dded3393412b9d2d8cb
Reviewed-by: Chris Meyer <cmeyer1969@gmail.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
src/plugins/platforms/cocoa/qcocoamenu.mm