Browse Source

Explicitly clear the screen in lcd_goto_screen

Scott Lahteine 8 years ago
parent
commit
42927530fe
1 changed files with 3 additions and 3 deletions
  1. 3
    3
      Marlin/ultralcd.cpp

+ 3
- 3
Marlin/ultralcd.cpp View File

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

Loading…
Cancel
Save