From 00fe65f61e31bf40e54fcc72991eb6e8cbd2e950 Mon Sep 17 00:00:00 2001 From: Heeyong Song Date: Thu, 1 Apr 2021 10:40:05 +0900 Subject: [PATCH] Fix Coverity issue Change-Id: I364b7dc968fbf3c3b6707d9f8b233f058710c484 --- .../gles-impl/gles-graphics-reflection.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/dali/internal/graphics/gles-impl/gles-graphics-reflection.cpp b/dali/internal/graphics/gles-impl/gles-graphics-reflection.cpp index 43420ad..20be64f 100644 --- a/dali/internal/graphics/gles-impl/gles-graphics-reflection.cpp +++ b/dali/internal/graphics/gles-impl/gles-graphics-reflection.cpp @@ -219,19 +219,25 @@ void Reflection::BuildUniformReflection() } else { - uint32_t previousUniformLocation = mDefaultUniformBlock.members[i - 1].location; - auto previousUniform = std::find_if(mStandaloneUniformExtraInfos.begin(), mStandaloneUniformExtraInfos.end(), [&previousUniformLocation](const UniformExtraInfo& iter) { return iter.location == previousUniformLocation; }); - mDefaultUniformBlock.members[i].offset = mDefaultUniformBlock.members[i - 1].offset + (previousUniform->size * previousUniform->arraySize); - mStandaloneUniformExtraInfos[i].offset = mDefaultUniformBlock.members[i].offset; + uint32_t previousUniformLocation = mDefaultUniformBlock.members[i - 1].location; + auto previousUniform = std::find_if(mStandaloneUniformExtraInfos.begin(), mStandaloneUniformExtraInfos.end(), [&previousUniformLocation](const UniformExtraInfo& iter) { return iter.location == previousUniformLocation; }); + if(previousUniform != mStandaloneUniformExtraInfos.end()) + { + mDefaultUniformBlock.members[i].offset = mDefaultUniformBlock.members[i - 1].offset + (previousUniform->size * previousUniform->arraySize); + mStandaloneUniformExtraInfos[i].offset = mDefaultUniformBlock.members[i].offset; + } } } if(mDefaultUniformBlock.members.size() > 0) { - uint32_t lastUniformLocation = mDefaultUniformBlock.members.back().location; - auto lastUniform = std::find_if(mStandaloneUniformExtraInfos.begin(), mStandaloneUniformExtraInfos.end(), [&lastUniformLocation](const UniformExtraInfo& iter) { return iter.location == lastUniformLocation; }); - mDefaultUniformBlock.size = mDefaultUniformBlock.members.back().offset + (lastUniform->size * lastUniform->arraySize); - mUniformBlocks.push_back(mDefaultUniformBlock); + uint32_t lastUniformLocation = mDefaultUniformBlock.members.back().location; + auto lastUniform = std::find_if(mStandaloneUniformExtraInfos.begin(), mStandaloneUniformExtraInfos.end(), [&lastUniformLocation](const UniformExtraInfo& iter) { return iter.location == lastUniformLocation; }); + if(lastUniform != mStandaloneUniformExtraInfos.end()) + { + mDefaultUniformBlock.size = mDefaultUniformBlock.members.back().offset + (lastUniform->size * lastUniform->arraySize); + mUniformBlocks.push_back(mDefaultUniformBlock); + } } else { -- 2.7.4