From cc4955b4a2b052b52781535d7316baf74ba7aef0 Mon Sep 17 00:00:00 2001 From: Stefan Schimanski Date: Fri, 14 Mar 2008 23:25:38 +0000 Subject: [PATCH] * 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 --- src/frontends/qt4/Menus.cpp | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) 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");