From dd55856ea26d8b5f918ea7d64e6240accb418016 Mon Sep 17 00:00:00 2001 From: Christian Walther Date: Sun, 15 Jan 2012 15:54:16 +0100 Subject: [PATCH] Fix inability to go to a higher page in a book than the next after what has already been displayed. Fixes books on the Relto bookshelf not remembering their last open page beyond the second. --- .../Plasma/FeatureLib/pfJournalBook/pfJournalBook.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfJournalBook/pfJournalBook.cpp b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfJournalBook/pfJournalBook.cpp index b60cbc83..7454922e 100644 --- a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfJournalBook/pfJournalBook.cpp +++ b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfJournalBook/pfJournalBook.cpp @@ -1742,10 +1742,8 @@ void pfJournalBook::IHandleCheckClick( UInt32 idx, pfBookData::WhichSide which ) void pfJournalBook::GoToPage( UInt32 pageNumber ) { // Put us here, but only on an even page (odd pages go on the right, y'know) - if (pageNumber < fPageStarts.Count()) - fCurrentPage = pageNumber & ~0x00000001; - else - fCurrentPage = 0; + // (no need for a range check, going past the end simply puts you on a blank page, able to go backward but not forward) + fCurrentPage = pageNumber & ~0x00000001; fVisibleLinks.Reset(); IRenderPage( fCurrentPage, pfJournalDlgProc::kTagLeftDTMap ); IRenderPage( fCurrentPage + 1, pfJournalDlgProc::kTagRightDTMap ); @@ -2602,7 +2600,7 @@ void pfJournalBook::IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppress } } - hsAssert(page < fPageStarts.GetCount(), "UnInitialized page start!"); + hsAssert(page < fPageStarts.GetCount() || page > fLastPage, "UnInitialized page start!"); if( page <= fLastPage && page < fPageStarts.GetCount()) // Added this as a crash-prevention bandaid - MT {