|
@@ -367,22 +367,22 @@ uint8_t lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; // Set when the LCD needs to
|
367
|
367
|
|
368
|
368
|
/**
|
369
|
369
|
* General function to go directly to a menu
|
370
|
|
- * Remembers the previous position
|
371
|
370
|
*/
|
372
|
371
|
static void lcd_goto_screen(screenFunc_t screen, const bool feedback = false, const uint32_t encoder = 0) {
|
373
|
372
|
if (currentScreen != screen) {
|
374
|
373
|
currentScreen = screen;
|
375
|
|
- lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW;
|
376
|
374
|
encoderPosition = encoder;
|
377
|
|
- if (feedback) lcd_quick_feedback();
|
378
|
375
|
if (screen == lcd_status_screen) {
|
379
|
376
|
defer_return_to_status = false;
|
380
|
377
|
screen_history_depth = 0;
|
381
|
378
|
}
|
|
379
|
+ if (feedback) lcd_quick_feedback();
|
|
380
|
+ lcd_implementation_clear();
|
382
|
381
|
#if ENABLED(LCD_PROGRESS_BAR)
|
383
|
382
|
// For LCD_PROGRESS_BAR re-initialize custom characters
|
384
|
383
|
lcd_set_custom_characters(screen == lcd_status_screen);
|
385
|
384
|
#endif
|
|
385
|
+ lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
|
386
|
386
|
}
|
387
|
387
|
}
|
388
|
388
|
|