From 47076b9dbbb9c9fbba7528f94675f8bed351a331 Mon Sep 17 00:00:00 2001 From: Abdelrazak Younes Date: Mon, 10 Mar 2008 13:42:16 +0000 Subject: [PATCH] Fix bug http://bugzilla.lyx.org/show_bug.cgi?id=4621 git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23630 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt4/Menus.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/frontends/qt4/Menus.cpp b/src/frontends/qt4/Menus.cpp index 95eea469d3..9202893871 100644 --- a/src/frontends/qt4/Menus.cpp +++ b/src/frontends/qt4/Menus.cpp @@ -573,8 +573,15 @@ bool MenuDefinition::searchMenu(FuncRequest const & func, vector & na } if (m->kind() == MenuItem::Submenu) { names.push_back(qstring_to_ucs4(m->label())); - MenuDefinition const & submenu = *m->submenu(); - if (submenu.searchMenu(func, names)) + MenuDefinition const * submenu = m->submenu(); + if (!submenu) { + LYXERR(Debug::GUI, "Warning: non existing sub menu label=" + << fromqstr(m->label()) + << " name=" << fromqstr(m->submenuname())); + names.pop_back(); + continue; + } + if (submenu->searchMenu(func, names)) return true; names.pop_back(); } @@ -1418,7 +1425,9 @@ void Menus::read(Lexer & lex) bool Menus::searchMenu(FuncRequest const & func, vector & names) const { - return d->menubar_.searchMenu(func, names); + MenuDefinition menu; + d->expand(d->menubar_, menu, 0); + return menu.searchMenu(func, names); } -- 2.39.2