From dd03e943971934d729830acb30a2c86bb8171664 Mon Sep 17 00:00:00 2001 From: Julia Nguyen Date: Sat, 13 Jun 2026 21:20:27 -0400 Subject: [PATCH] fix: redraw carousel header after restoring cached frames --- CHANGELOG.md | 1 + src/activities/home/HomeActivity.cpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c23eb23210..6dd069431d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - The X3 clock visibility setting is now phrased as `Hide Clock`, with existing `Show Clock` preferences migrated to the matching hide behavior. ### Fixed +- Lyra Carousel now redraws the Home header when restoring cached carousel frames so battery percentage and clock values stay current while navigating between books. - RoundedRaff's date shown in settings now sits lower on X3 devices instead of overlapping the battery. - Clear Bookmark List now asks for confirmation before deleting a book's bookmarks. - Clear Reading Cache now preserves per-book reading stats while continuing to leave all-time reading stats untouched. diff --git a/src/activities/home/HomeActivity.cpp b/src/activities/home/HomeActivity.cpp index 30d1cf0834..41fe379795 100644 --- a/src/activities/home/HomeActivity.cpp +++ b/src/activities/home/HomeActivity.cpp @@ -1603,6 +1603,9 @@ void HomeActivity::render(RenderLock&&) { memcpy(frameBuffer, carouselFrames[slotIdx], renderer.getBufferSize()); LyraCarouselTheme::setPreRenderIndex(centerIdx); + // Cached carousel frames include the header; redraw it so dynamic values + // like battery percentage and clock are current for every restored frame. + GUI.drawHeader(renderer, Rect{0, metrics.topPadding, pageWidth, metrics.homeTopPadding}, nullptr); GUI.drawCarouselBorder(renderer, Rect{0, metrics.homeTopPadding, pageWidth, metrics.homeCoverTileHeight}, recentBooks, centerIdx, inCarouselRow); if (!inCarouselRow) {