Browse Source

More fixes to plResManager::FindPage() - it appears invalid pages can exist on

the fAllPages list.

Validate each one when the list(set) is walked before operating on it.
rarified/findpagevalidate
rarified 4 years ago
parent
commit
870f6352b5
  1. 14
      MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/PubUtilLib/plResMgr/plResManager.cpp

14
MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/PubUtilLib/plResMgr/plResManager.cpp

@ -1627,11 +1627,15 @@ plRegistryPageNode* plResManager::FindPage(const plLocation& location) const
PageSet::const_iterator it;
for (it = fAllPages.begin(); it != fAllPages.end(); it++)
{
const plLocation& pageloc = (*it)->GetPageInfo().GetLocation();
if (pageloc == location)
{
fLastFoundPage = *it;
return fLastFoundPage;
if ((*it)->IsValid()) {
const plLocation& pageloc = (*it)->GetPageInfo().GetLocation();
if (pageloc == location)
{
fLastFoundPage = *it;
return fLastFoundPage;
}
} else {
hsStatusMessageF("Invalid Page on fAllPages @0x%x state=0x%x\n", (*it), (*it)->GetPageCondition());
}
}

Loading…
Cancel
Save