Fix crash when loading plugins from CLI and compilation when !ENABLE_UI

This commit is contained in:
David Capello 2020-04-07 10:56:39 -03:00
parent a7f3fc968a
commit 482fcd3b8c
2 changed files with 6 additions and 1 deletions

View File

@ -643,8 +643,10 @@ void Extension::exitScripts()
ASSERT(cmd);
if (cmd) {
#ifdef ENABLE_UI
// TODO use a signal
AppMenus::instance()->removeMenuItemWithCommand(cmd);
#endif // ENABLE_UI
cmds->remove(cmd);

View File

@ -128,14 +128,17 @@ int Plugin_newCommand(lua_State* L)
Commands::instance()->add(cmd);
plugin->ext->addCommand(id);
#ifdef ENABLE_UI
// Add a new menu option if the "group" is defined
if (!group.empty()) {
if (!group.empty() &&
App::instance()->isGui()) { // On CLI menus do not make sense
if (auto appMenus = AppMenus::instance()) {
std::unique_ptr<MenuItem> menuItem(new AppMenuItem(title, cmd));
appMenus->addMenuItemIntoGroup(
group, title, std::move(menuItem));
}
}
#endif // ENABLE_UI
}
else {
lua_pop(L, 1);