Fixes #8040. The debug window can't handle the block verification state during startup (see #8040).
Disabling the debug window until the main application window shows up seems to be a easy and stable solution.
Do we want to show the menu at all before the app is done initializing?
I think if we swap lines 662 and 663 in bitcoin.cpp the menu won't be created until initialization is done. (But I don't have a Mac to test on.)
app.requestInitialize();
app.createWindow(networkStyle.data());
EDIT: Nvm, it'll take more than that. Asynchronous code is hard.
@Tyler-Hardin: Right. And OSX is also picky with the main menu. I'm pretty sure removing the menu will lead into losing the Ctrl-Q / quit option during the startup/splashscreen state.
The menu itself doesn't hurt during the splash screen. It would just require some work to make the debug window compatible for that state (which is not worth doing that why I propose this PR/simple fix).
Tested ACK 29199ad on OS X
However, given that preferences and About bitcoin-qt are clickable, but no window actually shows, do we want to disable those until initialisation is finished as well?
Good point @fanquake! I have now disabled the about menu as well as the options menu. Can you re-test?
@jonasschnelli Looks good.
Tested ACK 276ce84
The menu is supposed to be a property of the main window, it is not supposed to show a menu at all during the splash screen. Is is possible to fix this more thoroughly instead of disabling individual actions? I can easily see this become a problem again in the future when someone adds an action.
On OSX, you will always have a menu bar.
Minimum menu bar would be: <img width="192" alt="bildschirmfoto 2016-05-12 um 13 26 19" src="https://cloud.githubusercontent.com/assets/178464/15218179/fb7c9c0a-185e-11e6-82fe-10f06fca8171.png">
IMO disabling "about" and "debug window" would look better.