From 778209ffe4e5a6bb8f76bb29e7e674350fe6f1d7 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Mon, 24 Mar 2014 16:28:07 -0700 Subject: [PATCH] fix bug in Menu.removeMenu() for trees of menus --- examples/menuExample.js | 5 +++++ interface/src/Menu.cpp | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/examples/menuExample.js b/examples/menuExample.js index 3b18021302..874d95ec31 100644 --- a/examples/menuExample.js +++ b/examples/menuExample.js @@ -32,6 +32,7 @@ function setupMenus() { Menu.addSeparator("Foo","Removable Tools"); Menu.addMenuItem("Foo","Remove Foo item 4"); Menu.addMenuItem("Foo","Remove Foo"); + Menu.addMenuItem("Foo","Remove Bar-Spam"); Menu.addMenu("Bar"); Menu.addMenuItem("Bar","Bar item 1", "b"); @@ -91,6 +92,10 @@ function menuItemEvent(menuItem) { if (menuItem == "Remove Foo") { Menu.removeMenu("Foo"); } + if (menuItem == "Remove Bar-Spam") { + Menu.removeMenu("Bar > Spam"); + } + if (menuItem == "Remove Spam item 2") { Menu.removeMenuItem("Bar > Spam", "Spam item 2"); } diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 6eb03021b3..7adef1be1c 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -1414,9 +1414,8 @@ void Menu::removeMenu(const QString& menuName) { if (action) { QString finalMenuPart; QMenu* parent = getMenuParent(menuName, finalMenuPart); - if (parent) { - removeAction(parent, finalMenuPart); + parent->removeAction(action); } else { QMenuBar::removeAction(action); }