]> git.lyx.org Git - lyx.git/commitdiff
Fix bug http://bugzilla.lyx.org/show_bug.cgi?id=4621
authorAbdelrazak Younes <younes@lyx.org>
Mon, 10 Mar 2008 13:42:16 +0000 (13:42 +0000)
committerAbdelrazak Younes <younes@lyx.org>
Mon, 10 Mar 2008 13:42:16 +0000 (13:42 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23630 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/Menus.cpp

index 95eea469d3de4dcae4f727ac7a155c3f931e44ec..9202893871154a9bbc61cd37760adebf117eb081 100644 (file)
@@ -573,8 +573,15 @@ bool MenuDefinition::searchMenu(FuncRequest const & func, vector<docstring> & 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<docstring> & names) const
 {
-       return d->menubar_.searchMenu(func, names);
+       MenuDefinition menu;
+       d->expand(d->menubar_, menu, 0);
+       return menu.searchMenu(func, names);
 }