diff --git a/pyWebLayout/layout/ereader_manager.py b/pyWebLayout/layout/ereader_manager.py index ae368b2..6c4848c 100644 --- a/pyWebLayout/layout/ereader_manager.py +++ b/pyWebLayout/layout/ereader_manager.py @@ -453,6 +453,12 @@ class EreaderLayoutManager: # Special case: if at the beginning of content and there's a cover, go back to it if self._has_cover and self._is_at_beginning() and not self._on_cover_page: self._on_cover_page = True + # Restore the canonical cover position. Being on the cover must have a + # single representation: a fresh load sits at block 0 with the cover + # showing, so returning to the cover has to land there too. Leaving the + # position at the first content block saves a position that reopens past + # the cover, silently losing it. + self.current_position = RenderingPosition() self._notify_position_changed() return self.get_current_page()