fix(bw): Uncleared reusable buffer in sdmanager (#4436)

This commit is contained in:
3djc
2023-12-20 12:12:30 +10:00
committed by GitHub
parent de0379c2c2
commit 2b7cc0b9c1
+15 -14
View File
@@ -273,10 +273,22 @@ void onUpdateReceiverSelection(const char * result)
void menuRadioSdManager(event_t _event)
{
#if LCD_DEPTH > 1
#if defined(NAVIGATION_X9D)
int lastPos = menuVerticalPosition;
#endif
if (_event == EVT_ENTRY) {
f_chdir(ROOT_PATH);
#if defined(NAVIGATION_X9D)
lastPos = -1;
#endif
}
if (_event == EVT_ENTRY || _event == EVT_ENTRY_UP) {
memclear(&reusableBuffer.sdManager, sizeof(reusableBuffer.sdManager));
REFRESH_FILES();
}
#if defined(PXX2)
if (EVT_KEY_MASK(_event) == KEY_EXIT && moduleState[reusableBuffer.sdManager.otaUpdateInformation.module].mode == MODULE_MODE_BIND) {
moduleState[reusableBuffer.sdManager.otaUpdateInformation.module].mode = MODULE_MODE_NORMAL;
@@ -291,19 +303,8 @@ void menuRadioSdManager(event_t _event)
SIMPLE_MENU(STR_SD_CARD, menuTabGeneral, MENU_RADIO_SD_MANAGER, HEADER_LINE + reusableBuffer.sdManager.count);
switch (_event) {
case EVT_ENTRY:
f_chdir(ROOT_PATH);
#if LCD_DEPTH > 1
lastPos = -1;
#endif
// no break
case EVT_ENTRY_UP:
memclear(&reusableBuffer.sdManager, sizeof(reusableBuffer.sdManager));
REFRESH_FILES();
break;
#if defined(PCBX9) || defined(RADIO_X7) || defined(RADIO_X7ACCESS) // TODO NO_MENU_KEY
#if defined(KEYS_GPIO_REG_MENU)
case EVT_KEY_LONG(KEY_MENU):
if (SD_CARD_PRESENT() && !READ_ONLY() && s_editMode == 0) {
killEvents(_event);
@@ -338,7 +339,7 @@ void menuRadioSdManager(event_t _event)
break;
case EVT_KEY_LONG(KEY_ENTER):
#if (HEADER_LINE > 0) && !defined(PCBX9) && !defined(RADIO_X7) && !defined(RADIO_X7ACCESS) // TODO NO_HEADER_LINE
#if (HEADER_LINE > 0)
if (menuVerticalPosition < HEADER_LINE) {
killEvents(_event);
POPUP_MENU_ADD_ITEM(STR_SD_INFO);