diff --git a/code/AssetLib/LWO/LWOLoader.cpp b/code/AssetLib/LWO/LWOLoader.cpp index bc62152c5..801da1d60 100644 --- a/code/AssetLib/LWO/LWOLoader.cpp +++ b/code/AssetLib/LWO/LWOLoader.cpp @@ -393,7 +393,7 @@ void LWOImporter::InternReadFile(const std::string &pFile, // If a RGB color map is explicitly requested delete the // alpha channel - it could theoretically be != 1. - if (_mSurfaces[i].mVCMapType == AI_LWO_RGB) + if (_mSurfaces[j].mVCMapType == AI_LWO_RGB) pvVC[w]->a = 1.f; pvVC[w]++; diff --git a/code/PostProcessing/RemoveRedundantMaterials.cpp b/code/PostProcessing/RemoveRedundantMaterials.cpp index 36745fb1d..f6355fcc6 100644 --- a/code/PostProcessing/RemoveRedundantMaterials.cpp +++ b/code/PostProcessing/RemoveRedundantMaterials.cpp @@ -50,6 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include "ProcessHelper.h" #include "Material/MaterialSystem.h" +#include #include using namespace Assimp; @@ -171,6 +172,8 @@ void RemoveRedundantMatsProcess::Execute( aiScene* pScene) } // If the new material count differs from the original, // we need to rebuild the material list and remap mesh material indexes. + if(iNewNum < 1) + throw DeadlyImportError("No materials remaining"); if (iNewNum != pScene->mNumMaterials) { ai_assert(iNewNum > 0); aiMaterial** ppcMaterials = new aiMaterial*[iNewNum];