diff --git a/Marlin/src/lcd/menu/menu.cpp b/Marlin/src/lcd/menu/menu.cpp index 7f55f79f037..c529ae757a9 100644 --- a/Marlin/src/lcd/menu/menu.cpp +++ b/Marlin/src/lcd/menu/menu.cpp @@ -117,8 +117,7 @@ void MenuEditItemBase::edit_screen(strfunc_t strfunc, loadfunc_t loadfunc) { // Reset repeat_delay for Touch Buttons TERN_(HAS_TOUCH_BUTTONS, ui.repeat_delay = BUTTON_DELAY_EDIT); // Constrain ui.encoderPosition to 0 ... maxEditValue (calculated in encoder steps) - if (int32_t(ui.encoderPosition) < 0) ui.encoderPosition = 0; - if (int32_t(ui.encoderPosition) > maxEditValue) ui.encoderPosition = maxEditValue; + ui.encoderPosition = constrain(int32_t(ui.encoderPosition), 0, maxEditValue); // If drawing is flagged then redraw the (whole) edit screen if (ui.should_draw()) draw_edit_screen(strfunc(ui.encoderPosition + minEditValue));