fix the "blank screen when a text message arrives" bug

This commit is contained in:
Kevin Hester 2020-03-03 10:15:23 -08:00
parent f1c90a232f
commit fe5703c684

View File

@ -500,7 +500,8 @@ void Screen::setOn(bool on)
if (on != screenOn) if (on != screenOn)
{ {
if (on) { if (on)
{
dispdev.displayOn(); dispdev.displayOn();
setPeriod(1); // redraw ASAP setPeriod(1); // redraw ASAP
} }
@ -613,7 +614,6 @@ void Screen::doTask()
targetFramerate = IDLE_FRAMERATE; targetFramerate = IDLE_FRAMERATE;
ui.setTargetFPS(targetFramerate); ui.setTargetFPS(targetFramerate);
} }
ui.update();
// While showing the bluetooth pair screen all of our standard screen switching is stopped // While showing the bluetooth pair screen all of our standard screen switching is stopped
if (!showingBluetooth) if (!showingBluetooth)
@ -639,6 +639,9 @@ void Screen::doTask()
} }
} }
// This must be after we possibly do screen_set_frames() to ensure we draw the new data
ui.update();
// DEBUG_MSG("want fps %d, fixed=%d\n", targetFramerate, ui.getUiState()->frameState); // DEBUG_MSG("want fps %d, fixed=%d\n", targetFramerate, ui.getUiState()->frameState);
// If we are scrolling we need to be called soon, otherwise just 1 fps (to save CPU) // If we are scrolling we need to be called soon, otherwise just 1 fps (to save CPU)
// We also ask to be called twice as fast as we really need so that any rounding errors still result // We also ask to be called twice as fast as we really need so that any rounding errors still result