Am 28.08.2011 um 22:38 schrieb Stephan Witt:

> 
> Am 28.08.2011 um 21:08 schrieb Vincent van Ravesteijn:
> 
>> Op 28-8-2011 20:19, Stephan Witt schreef:
>>> Am 28.08.2011 um 20:11 schrieb Vincent van Ravesteijn:
>>> 
>>>> Op 28-8-2011 16:59, Rob Oakes schreef:
>>>>> Dear Developers,
>>>>> 
>>>>> Thanks for fixing the configuration error. It now configures correctly 
>>>>> (or almost correctly). I am still having a couple of problems with 
>>>>> configuration on Mac OS X, though (Snow Leopard).
>>>>> 
>>>>> 1.) After the first time configuration runs, the option to "Reconfigure 
>>>>> LyX" disappears from the application menu. Nor is it present in the 
>>>>> "Tools" menu, as it would be on other platforms.
>>>> Yes, it disappears for me too on Mac. hmmm
>>> Self compiled LyX? What Qt-build? (Carbon or Cocoa?)
>>> Here it works with the Qt-4.6.3-Cocoa-framework - both the Xcode-build and 
>>> autotools build.
>>> 
>> 
>> Self-compiled, CMake, Qt 4.7.3 Cocoa.
> 
> I guess the problems are here - in src/frontends/qt4/Menu.cpp:
> void Menus::Impl::macxMenuBarInit(GuiView * view, QMenuBar * qmb)
> 
> When using Carbon it doesn't matter how often the ApplicationSpecificRole 
> actions are bound to the menu. When using Cocoa every new 
> ApplicationSpecificRole action creates a new item in the application menu, so 
> you get one "Reconfigure" item per view. I've "fixed" that with the #if 
> defined(QT_MAC_USE_COCOA) but obviously this works only for 4.6.x. When using 
> 4.7.x Cocoa Qt the behavior is changed again - the first created item is 
> invisible because the action is created with view == 0.
> 
> For today I cannot investigate further...

I didn't check all side effects until now... but the attached patch helps.
I have to check with Carbon Qt and in case it works this line can be removed.

Stephan

Index: src/frontends/qt4/GuiApplication.cpp
===================================================================
--- src/frontends/qt4/GuiApplication.cpp        (Revision 39552)
+++ src/frontends/qt4/GuiApplication.cpp        (Arbeitskopie)
@@ -1982,7 +1982,7 @@
        // and if no GuiView is visible.
        // This must be done after the session was recovered to know the "last 
files".
        d->global_menubar_ = new GlobalMenuBar();
-       d->menus_.fillMenuBar(d->global_menubar_, 0, true);
+       // d->menus_.fillMenuBar(d->global_menubar_, 0, true);
 #endif
 
        lyx::execBatchCommands();

Reply via email to