From f055fdd774947699c38f31923d2209fea984af5e Mon Sep 17 00:00:00 2001 From: Uri Tauber Date: Thu, 4 Jun 2026 16:35:38 +0300 Subject: [PATCH] fix: long-press back should move to the start of chapter (#2243) Co-authored-by: Julia --- src/activities/reader/EpubReaderActivity.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/activities/reader/EpubReaderActivity.cpp b/src/activities/reader/EpubReaderActivity.cpp index ca608eaa..a5329290 100644 --- a/src/activities/reader/EpubReaderActivity.cpp +++ b/src/activities/reader/EpubReaderActivity.cpp @@ -338,11 +338,21 @@ void EpubReaderActivity::loop() { } if (longPress && SETTINGS.longPressButtonBehavior == SETTINGS.CHAPTER_SKIP) { + if (!nextTriggered && section && section->currentPage > 0) { + section->currentPage = 0; + requestUpdate(); + return; + } + // We don't want to delete the section mid-render, so grab the semaphore { RenderLock lock(*this); nextPageNumber = 0; - currentSpineIndex = nextTriggered ? currentSpineIndex + 1 : currentSpineIndex - 1; + if (nextTriggered) { + currentSpineIndex++; + } else if (currentSpineIndex > 0) { + currentSpineIndex--; + } section.reset(); } requestUpdate();