2
3
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-14 10:37:41 -04:00

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.
This commit is contained in:
Christian Walther
2012-01-15 15:54:16 +01:00
parent a0d54e2644
commit 3a6063bc7a

View File

@ -1744,10 +1744,8 @@ void pfJournalBook::IHandleCheckClick( UInt32 idx, pfBookData::WhichSide whic
void pfJournalBook::GoToPage( UInt32 pageNumber ) void pfJournalBook::GoToPage( UInt32 pageNumber )
{ {
// Put us here, but only on an even page (odd pages go on the right, y'know) // Put us here, but only on an even page (odd pages go on the right, y'know)
if (pageNumber < fPageStarts.Count()) // (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; fCurrentPage = pageNumber & ~0x00000001;
else
fCurrentPage = 0;
fVisibleLinks.Reset(); fVisibleLinks.Reset();
IRenderPage( fCurrentPage, pfJournalDlgProc::kTagLeftDTMap ); IRenderPage( fCurrentPage, pfJournalDlgProc::kTagLeftDTMap );
IRenderPage( fCurrentPage + 1, pfJournalDlgProc::kTagRightDTMap ); IRenderPage( fCurrentPage + 1, pfJournalDlgProc::kTagRightDTMap );
@ -2610,7 +2608,7 @@ void pfJournalBook::IRenderPage( UInt32 page, UInt32 whichDTMap, hsBool suppr
} }
} }
hsAssert(page < fPageStarts.GetCount(), "UnInitialized page start!"); hsAssert(page < fPageStarts.GetCount() || page > fLastPage, "UnInitialized page start!");
if( page <= fLastPage if( page <= fLastPage
&& page < fPageStarts.GetCount()) // Added this as a crash-prevention bandaid - MT && page < fPageStarts.GetCount()) // Added this as a crash-prevention bandaid - MT
{ {