From e6484d9dab9f9468fd59ce06bae3049f7bb39228 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 8 Jan 2019 23:08:20 -0600 Subject: [PATCH] Return to status when SD card is removed --- Marlin/src/lcd/menu/menu_sdcard.cpp | 2 +- Marlin/src/lcd/ultralcd.cpp | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Marlin/src/lcd/menu/menu_sdcard.cpp b/Marlin/src/lcd/menu/menu_sdcard.cpp index 0b10b5737..4a5179f9d 100644 --- a/Marlin/src/lcd/menu/menu_sdcard.cpp +++ b/Marlin/src/lcd/menu/menu_sdcard.cpp @@ -114,7 +114,7 @@ void menu_sdcard() { else if (card.flag.cardOK) MENU_ITEM(function, LCD_STR_FOLDER "..", lcd_sd_updir); - for (uint16_t i = 0; i < fileCnt; i++) { + if (ui.should_draw()) for (uint16_t i = 0; i < fileCnt; i++) { if (_menuLineNr == _thisItemNr) { const uint16_t nr = #if ENABLED(SDCARD_RATHERRECENTFIRST) && DISABLED(SDCARD_SORT_ALPHA) diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index af4311487..2c55c9d42 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -709,7 +709,10 @@ void MarlinUI::update() { } else { card.release(); - if (old_sd_status != 2) set_status_P(PSTR(MSG_SD_REMOVED)); + if (old_sd_status != 2) { + set_status_P(PSTR(MSG_SD_REMOVED)); + if (!on_status_screen()) return_to_status(); + } } refresh();