History

DEV-2498: Fix a crash in MenuScriptingInterface

Zach Fox committed 7 years ago

Commit f847d361 parent cf79f481 file · +8 −4Browse files

Showing the changes to interface/src/scripting/MenuScriptingInterface.cpp (1 of 1 file). Show all

Unified · Split

interface/src/scripting/MenuScriptingInterface.cpp+8−4
@@ -41,7 +41,8 @@ void MenuScriptingInterface::removeMenu(const QString& menu) { · 40 unmodified lines
4141
4242 bool MenuScriptingInterface::menuExists(const QString& menu) {
4343 if (QThread::currentThread() == qApp->thread()) {
44− return Menu::getInstance()->menuExists(menu);
44+ Menu* menuInstance = Menu::getInstance();
45+ return menuInstance && menuInstance->menuExists(menu);
4546 }
4647 bool result { false };
4748 BLOCKING_INVOKE_METHOD(Menu::getInstance(), "menuExists",
@@ -84,7 +85,8 @@ void MenuScriptingInterface::removeMenuItem(const QString& menu, const QString& · 36 unmodified lines
8485
8586 bool MenuScriptingInterface::menuItemExists(const QString& menu, const QString& menuitem) {
8687 if (QThread::currentThread() == qApp->thread()) {
87− return Menu::getInstance()->menuItemExists(menu, menuitem);
88+ Menu* menuInstance = Menu::getInstance();
89+ return menuInstance && menuInstance->menuItemExists(menu, menuitem);
8890 }
8991 bool result { false };
9092 BLOCKING_INVOKE_METHOD(Menu::getInstance(), "menuItemExists",
@@ -96,7 +98,8 @@ bool MenuScriptingInterface::menuItemExists(const QString& menu, const QString& · 5 unmodified lines
9698
9799 bool MenuScriptingInterface::isOptionChecked(const QString& menuOption) {
98100 if (QThread::currentThread() == qApp->thread()) {
99− return Menu::getInstance()->isOptionChecked(menuOption);
101+ Menu* menuInstance = Menu::getInstance();
102+ return menuInstance && menuInstance->isOptionChecked(menuOption);
100103 }
101104 bool result { false };
102105 BLOCKING_INVOKE_METHOD(Menu::getInstance(), "isOptionChecked",
@@ -113,7 +116,8 @@ void MenuScriptingInterface::setIsOptionChecked(const QString& menuOption, bool · 10 unmodified lines
113116
114117 bool MenuScriptingInterface::isMenuEnabled(const QString& menuOption) {
115118 if (QThread::currentThread() == qApp->thread()) {
116− return Menu::getInstance()->isOptionChecked(menuOption);
119+ Menu* menuInstance = Menu::getInstance();
120+ return menuInstance && menuInstance->isMenuEnabled(menuOption);
117121 }
118122 bool result { false };
119123 BLOCKING_INVOKE_METHOD(Menu::getInstance(), "isMenuEnabled",