]> git.lyx.org Git - features.git/commitdiff
* make sure the Mac special menu item are only created once per QMenuBar.
authorStefan Schimanski <sts@lyx.org>
Sat, 15 Mar 2008 02:58:05 +0000 (02:58 +0000)
committerStefan Schimanski <sts@lyx.org>
Sat, 15 Mar 2008 02:58:05 +0000 (02:58 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23754 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/GuiApplication.cpp
src/frontends/qt4/GuiView.cpp
src/frontends/qt4/Menus.cpp
src/frontends/qt4/Menus.h

index 6606ec195e7f14dfcd9e15634974bb08ac2795aa..c32a5e400e6da8f7f01181ca7598d3ed67e8eaaf 100644 (file)
@@ -746,7 +746,7 @@ bool GuiApplication::searchMenu(FuncRequest const & func,
 void GuiApplication::initGlobalMenu()
 {
        if (global_menubar_)
-               menus().fillMenuBar(global_menubar_, 0);
+               menus().fillMenuBar(global_menubar_, 0, true);
 }
 
 
index 51964929fa237af7bb7cc163b259c3ad7ff56adf..40423df3d34b6f161ec9ad5034121554a4c01861 100644 (file)
@@ -283,7 +283,7 @@ GuiView::GuiView(int id)
        theLyXFunc().setLyXView(this);
        
        // Fill up the menu bar.
-       guiApp->menus().fillMenuBar(menuBar(), this);
+       guiApp->menus().fillMenuBar(menuBar(), this, true);
 
        setCentralWidget(d.stack_widget_);
 
index 3cb90fa0cb165fc87e60c5339251fdc009aeb20f..bbb03d8350005aa9447946a6b3317c654a7b94eb 100644 (file)
@@ -1461,15 +1461,17 @@ bool Menus::searchMenu(FuncRequest const & func,
 }
 
 
-void Menus::fillMenuBar(QMenuBar * qmb, GuiView * view)
+void Menus::fillMenuBar(QMenuBar * qmb, GuiView * view, bool initial)
 {
-       // Clear all menubar contents before filling it.
-       qmb->clear();
-       
+       if (initial) {
 #ifdef Q_WS_MACX
-       // setup special mac specific menu item
-       d->macxMenuBarInit(view, qmb);
+               // setup special mac specific menu item
+               d->macxMenuBarInit(view, qmb);
 #endif
+       } else {
+               // Clear all menubar contents before filling it.
+               qmb->clear();
+       }
 
        LYXERR(Debug::GUI, "populating menu bar" << fromqstr(d->menubar_.name()));
 
index d0bc687591cc96aa96aa84933d2e081d1ef0571f..f0b0789e20264666fdca6c377c29408523ddbf85 100644 (file)
@@ -64,7 +64,7 @@ public:
        bool searchMenu(FuncRequest const & func,
                std::vector<docstring> & names) const;
        ///
-       void fillMenuBar(QMenuBar * qmb, GuiView * view);
+       void fillMenuBar(QMenuBar * qmb, GuiView * view, bool initial = false);
 
        /// \return a top-level submenu given its name.
        Menu * menu(QString const & name, GuiView & view);