From 8270fca734ecd1ec0f0a767d301bf2433656cf9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Wed, 11 Feb 2026 14:30:37 +0100 Subject: [PATCH] Remove the hardcoded F12 hotkey for screenshots on Windows. Fixes #17559 --- Windows/MainWindowMenu.cpp | 17 ++++++++--------- Windows/ppsspp.rc | 1 - 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Windows/MainWindowMenu.cpp b/Windows/MainWindowMenu.cpp index d8d89e6e86..3eddc6cef0 100644 --- a/Windows/MainWindowMenu.cpp +++ b/Windows/MainWindowMenu.cpp @@ -65,7 +65,7 @@ namespace MainWindow { LRESULT CALLBACK AboutDlgProc(HWND, UINT, WPARAM, LPARAM); void SetIngameMenuItemStates(HMENU menu, const GlobalUIState state) { - bool menuEnableBool = state == UISTATE_INGAME || state == UISTATE_EXCEPTION; + const bool menuEnableBool = state == UISTATE_INGAME || state == UISTATE_EXCEPTION; bool loadStateEnableBool = menuEnableBool; bool saveStateEnableBool = menuEnableBool; @@ -124,10 +124,10 @@ namespace MainWindow { return nullptr; } - static void EmptySubMenu(HMENU menu) { - int c = GetMenuItemCount(menu); - for (int i = 0; i < c; ++i) { - RemoveMenu(menu, 0, MF_BYPOSITION); + static void ClearSubMenu(HMENU menu) { + const int count = GetMenuItemCount(menu); + for (int i = count - 1; i >= 0; --i) { + RemoveMenu(menu, i, MF_BYPOSITION); } } @@ -135,11 +135,10 @@ namespace MainWindow { MENUITEMINFO menuInfo{ sizeof(menuInfo), MIIM_STRING }; std::string retVal; if (GetMenuItemInfo(menu, menuID, MF_BYCOMMAND, &menuInfo) != FALSE) { - wchar_t *buffer = new wchar_t[++menuInfo.cch]; - menuInfo.dwTypeData = buffer; + std::vector buffer(menuInfo.cch + 1); + menuInfo.dwTypeData = buffer.data(); GetMenuItemInfo(menu, menuID, MF_BYCOMMAND, &menuInfo); retVal = ConvertWStringToUTF8(menuInfo.dwTypeData); // note, this is buffer. - delete[] buffer; } return retVal; @@ -241,7 +240,7 @@ namespace MainWindow { TranslateMenuItem(menu, ID_DEBUG_LOADSYMFILE); TranslateMenuItem(menu, ID_DEBUG_SAVESYMFILE); TranslateMenuItem(menu, ID_DEBUG_RESETSYMBOLTABLE); - TranslateMenuItem(menu, ID_DEBUG_TAKESCREENSHOT, g_Config.bSystemControls ? L"\tF12" : L""); + TranslateMenuItem(menu, ID_DEBUG_TAKESCREENSHOT); // TODO: Automatically show the bound key. TranslateMenuItem(menu, ID_DEBUG_SAVEFRAMEDUMP); TranslateMenuItem(menu, ID_DEBUG_SHOWDEBUGSTATISTICS); TranslateMenuItem(menu, ID_DEBUG_RESTARTGRAPHICS); diff --git a/Windows/ppsspp.rc b/Windows/ppsspp.rc index 55a59591cb..fa4bd97058 100644 --- a/Windows/ppsspp.rc +++ b/Windows/ppsspp.rc @@ -69,7 +69,6 @@ BEGIN VK_F2, ID_FILE_QUICKSAVESTATE_HC, VIRTKEY, NOINVERT VK_F4, ID_FILE_QUICKLOADSTATE_HC, VIRTKEY, NOINVERT "1", ID_OPTIONS_RESOLUTIONDUMMY, VIRTKEY, CONTROL, NOINVERT - VK_F12, ID_DEBUG_TAKESCREENSHOT, VIRTKEY, NOINVERT VK_RETURN, ID_OPTIONS_FULLSCREEN, ALT, VIRTKEY, NOINVERT VK_F11, ID_OPTIONS_FULLSCREEN, VIRTKEY, NOINVERT END