From: Stefan Schimanski Date: Fri, 14 Mar 2008 23:25:38 +0000 (+0000) Subject: * in fact we have more than one menubar at the moment, even on Mac. It X-Git-Tag: 1.6.10~5638 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=cc4955b4a2b052b52781535d7316baf74ba7aef0;p=features.git * in fact we have more than one menubar at the moment, even on Mac. It should be possible to only keep one, but then the reference to menuBar() in GuiView must go or point to the global one. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23733 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/frontends/qt4/Menus.cpp b/src/frontends/qt4/Menus.cpp index 4ea1e0d27c..4e054cfe13 100644 --- a/src/frontends/qt4/Menus.cpp +++ b/src/frontends/qt4/Menus.cpp @@ -1213,12 +1213,6 @@ struct Menus::Impl { */ void Menus::Impl::macxMenuBarInit(GuiView * view, QMenuBar * qmb) { - // The Mac menubar initialisation must be done only once! - static bool done = false; - if (done) - return; - done = true; - /* Since Qt 4.2, the qt/mac menu code has special code for specifying the role of a menu entry. However, it does not work very well with our scheme of creating menus on demand, @@ -1251,13 +1245,16 @@ void Menus::Impl::macxMenuBarInit(GuiView * view, QMenuBar * qmb) }; const size_t num_entries = sizeof(entries) / sizeof(entries[0]); - // the special menu for Menus. - for (size_t i = 0 ; i < num_entries ; ++i) { - FuncRequest const func(entries[i].action, - from_utf8(entries[i].arg)); - specialmenu_.add(MenuItem(MenuItem::Command, entries[i].label, func)); + // the special menu for Menus. Fill it up only once. + if (specialmenu_.size() == 0) { + for (size_t i = 0 ; i < num_entries ; ++i) { + FuncRequest const func(entries[i].action, + from_utf8(entries[i].arg)); + specialmenu_.add(MenuItem(MenuItem::Command, + entries[i].label, func)); + } } - + // add the entries to a QMenu that will eventually be empty // and therefore invisible. QMenu * qMenu = qmb->addMenu("special");