Consistently avoid null pointer dereferencing in postprocessor (#7587)

fix-osga-rotate-wildly
Alexei Kotov 2 months ago
parent 38eb741bfd
commit 0f7b4fc6e6

@ -111,6 +111,7 @@
Bug #7557: Terrain::ChunkManager::createChunk is called twice for the same position, lod on initial loading
Bug #7573: Drain Fatigue can't bring fatigue below zero by default
Bug #7585: Difference in interior lighting between OpenMW with legacy lighting method enabled and vanilla Morrowind
Bug #7587: Quick load related crash
Bug #7603: Scripts menu size is not updated properly
Bug #7604: Goblins Grunt becomes idle once injured
Bug #7609: ForceGreeting should not open dialogue for werewolves

@ -346,7 +346,7 @@ namespace MWRender
for (auto& technique : mTechniques)
{
if (technique->getStatus() == fx::Technique::Status::File_Not_exists)
if (!technique || technique->getStatus() == fx::Technique::Status::File_Not_exists)
continue;
const auto lastWriteTime = std::filesystem::last_write_time(mTechniqueFileMap[technique->getName()]);
@ -564,7 +564,7 @@ namespace MWRender
for (const auto& technique : mTechniques)
{
if (!technique->isValid())
if (!technique || !technique->isValid())
continue;
if (technique->getGLSLVersion() > mGLSLVersion)
@ -718,7 +718,7 @@ namespace MWRender
PostProcessor::Status PostProcessor::disableTechnique(std::shared_ptr<fx::Technique> technique, bool dirty)
{
if (technique->getLocked())
if (!technique || technique->getLocked())
return Status_Error;
auto it = std::find(mTechniques.begin(), mTechniques.end(), technique);
@ -734,6 +734,9 @@ namespace MWRender
bool PostProcessor::isTechniqueEnabled(const std::shared_ptr<fx::Technique>& technique) const
{
if (!technique)
return false;
if (auto it = std::find(mTechniques.begin(), mTechniques.end(), technique); it == mTechniques.end())
return false;
@ -815,7 +818,7 @@ namespace MWRender
void PostProcessor::disableDynamicShaders()
{
for (auto& technique : mTechniques)
if (technique->getDynamic())
if (technique && technique->getDynamic())
disableTechnique(technique);
}

Loading…
Cancel
Save