diff --git a/Marlin/src/lcd/menu/menu.cpp b/Marlin/src/lcd/menu/menu.cpp index 8157acdfa04d..d56bc9b5ff1b 100644 --- a/Marlin/src/lcd/menu/menu.cpp +++ b/Marlin/src/lcd/menu/menu.cpp @@ -168,6 +168,8 @@ void MenuEditItemBase::goto_edit_screen( */ void MarlinUI::goto_screen(screenFunc_t screen, const uint16_t encoder/*=0*/, const uint8_t top/*=0*/, const uint8_t items/*=0*/) { if (currentScreen != screen) { + thermalManager.set_menu_cold_override(false); + TERN_(IS_DWIN_MARLINUI, did_first_redraw = false); TERN_(HAS_TOUCH_BUTTONS, repeat_delay = BUTTON_DELAY_MENU); diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp index 765172b82733..73101e7bcf16 100644 --- a/Marlin/src/lcd/menu/menu_motion.cpp +++ b/Marlin/src/lcd/menu/menu_motion.cpp @@ -166,6 +166,7 @@ void _goto_manual_move(const_float_t scale) { ui.defer_status_screen(); ui.manual_move.menu_scale = scale; ui.goto_screen(_manual_move_func_ptr); + thermalManager.set_menu_cold_override(true); } void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int8_t eindex=active_extruder) { @@ -228,7 +229,7 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int ui.goto_screen([]{ MenuItem_confirm::select_screen( GET_TEXT(MSG_BUTTON_PROCEED), GET_TEXT(MSG_BACK), - [] { thermalManager.set_menu_cold_override(true); _goto_menu_move_distance_e(); }, nullptr, + _goto_menu_move_distance_e, nullptr, GET_TEXT(MSG_HOTEND_TOO_COLD), (const char *)nullptr, PSTR("!") ); }); @@ -323,8 +324,6 @@ void menu_move() { #if E_MANUAL - thermalManager.set_menu_cold_override(false); - // The current extruder SUBMENU(MSG_MOVE_E, []{ _menu_move_distance_e_maybe(); });