diff --git a/Core/Config.cpp b/Core/Config.cpp index 3798362ef8..45e396c9b7 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -610,6 +610,7 @@ static ConfigSetting generalSettings[] = { ConfigSetting("PauseWhenMinimized", &g_Config.bPauseWhenMinimized, false, true, true), ConfigSetting("DumpDecryptedEboots", &g_Config.bDumpDecryptedEboot, false, true, true), ConfigSetting("FullscreenOnDoubleclick", &g_Config.bFullscreenOnDoubleclick, true, false, false), + ConfigSetting("ShowMenuBar", &g_Config.bShowMenuBar, true, true, false), ReportedConfigSetting("MemStickInserted", &g_Config.bMemStickInserted, true, true, true), ConfigSetting("EnablePlugins", &g_Config.bLoadPlugins, true, true, true), diff --git a/Core/Config.h b/Core/Config.h index 36ec3a760d..8a7f519621 100644 --- a/Core/Config.h +++ b/Core/Config.h @@ -191,6 +191,7 @@ public: int iWindowY; int iWindowWidth; // Windows and other windowed environments int iWindowHeight; + bool bShowMenuBar; // Windows-only float fUITint; float fUISaturation; diff --git a/Windows/MainWindow.cpp b/Windows/MainWindow.cpp index f483a55d9f..ebe755b979 100644 --- a/Windows/MainWindow.cpp +++ b/Windows/MainWindow.cpp @@ -353,8 +353,8 @@ namespace MainWindow ::SetWindowLong(hWnd, GWL_STYLE, dwStyle); - // Remove the menu bar. This can trigger WM_SIZE - ::SetMenu(hWnd, goingFullscreen ? NULL : menu); + // Remove the menu bar. This can trigger WM_SIZE because the contents change size. + ::SetMenu(hWnd, goingFullscreen || !g_Config.bShowMenuBar ? NULL : menu); if (g_Config.UseFullScreen() != goingFullscreen) { g_Config.bFullScreen = goingFullscreen;