From 3e8accde6969737183eeb14c4b73761f8932197f Mon Sep 17 00:00:00 2001 From: mark9064 <30447455+mark9064@users.noreply.github.com> Date: Mon, 1 Apr 2024 00:21:13 +0100 Subject: [PATCH] aod: run LVGL task handler until all work finished --- src/displayapp/DisplayApp.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 88ce085f..bc9a57bc 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -242,7 +242,9 @@ void DisplayApp::Refresh() { // If not true, then wait that amount of time queueTimeout = CalculateSleepTime(); if (queueTimeout == 0) { - lv_task_handler(); + // Keep running the task handler if it still has things to draw + while (!lv_task_handler()) { + }; // Drop frames that we've missed if the loop took way longer than expected to execute while (queueTimeout == 0) { alwaysOnTickCount += 1;