>>>>> "Jens" == Jens Noeckel <[EMAIL PROTECTED]> writes:
Jens> One more observation regarding the menu mix-up I'm seeing on LyX
Jens> 1.4.2: While it's clearly the LyX menu that's giving me the
Jens> wrong Lfunc for each menu entry, there's also something strange
Jens> in the adjacent File menu: it has as its bottom-most entry "Quit
Jens> LyX", the _same_ as the bottom-most entry in the LyX menu. I'm
Jens> not sure about cause and effect here - but maybe it's this
Jens> additional entry in the FIle menu that messes up the LyX menu.
Jens> Anyway, even when the LyX menu malfunctions, the File menu works
Jens> fine, and in particular the "Quit LyX" item in the File menu
Jens> does indeed quit LyX.
Let's start somewhere. I have really no idea of what happen, so I
propose to use the attached patch to do a bit of instrumentation.
Could you apply it and report what is printed on the console when you
use the menus? I hope it compiles, but of course I cannot really be
sure...
JMarc
Index: src/frontends/qt2/QLPopupMenu.C
===================================================================
--- src/frontends/qt2/QLPopupMenu.C (revision 14801)
+++ src/frontends/qt2/QLPopupMenu.C (working copy)
@@ -18,6 +18,7 @@
#include "QLMenubar.h"
#include "qt_helpers.h"
+#include "debug.h"
#include "MenuBackend.h"
#include "frontends/lyx_gui.h"
@@ -95,7 +96,11 @@
lyx_gui::sync_events();
#ifdef Q_WS_MACX
if (index >= indexOffset) {
+ lyxerr << "fire: special entry [" << cit->label()
+ << "] with index" << indexOffset + i <<std::endl;
MenuItem mi = owner_->backend().getMenu("LyX")[index - indexOffset];
+ lyxerr << "fire: special entry [" << mi.label()
+ << "] with index" << index <<std::endl;
owner_->view()->activated(mi.func());
} else
#endif
@@ -177,8 +182,11 @@
Menu::const_iterator end = special.end();
Menu::size_type i = 0;
for (Menu::const_iterator cit = special.begin();
- cit != end ; ++cit, ++i)
+ cit != end ; ++cit, ++i) {
+ lyxerr << "Inserting [" << cit->label()
+ << "] with index" << indexOffset + i <<std::endl;
insertItem(toqstr(cit->label()), indexOffset + i);
+ }
}
#endif
}