diff --git a/src/Algorithm.cpp b/src/Algorithm.cpp index 988a5b60..823891a6 100644 --- a/src/Algorithm.cpp +++ b/src/Algorithm.cpp @@ -9413,19 +9413,21 @@ void Algorithm::makeBlueprintInstantiationContext(const t_instanced_nfo& nfo, co } // parameters of non-parameterized ios (for pre-processor widthof/signed) Algorithm* alg = dynamic_cast(nfo.blueprint.raw()); - for (auto io : nfo.blueprint->inputs()) { - if (io.type_nfo.base_type != Parameterized || !io.type_nfo.same_as.empty()) { - addToInstantiationContext(alg, io.name, io, _local_ictx, _local_ictx); + if (alg != nullptr) { + for (auto io : nfo.blueprint->inputs()) { + if (io.type_nfo.base_type != Parameterized || !io.type_nfo.same_as.empty()) { + addToInstantiationContext(alg, io.name, io, _local_ictx, _local_ictx); + } } - } - for (auto io : nfo.blueprint->outputs()) { - if (io.type_nfo.base_type != Parameterized || !io.type_nfo.same_as.empty()) { - addToInstantiationContext(alg, io.name, io, _local_ictx, _local_ictx); + for (auto io : nfo.blueprint->outputs()) { + if (io.type_nfo.base_type != Parameterized || !io.type_nfo.same_as.empty()) { + addToInstantiationContext(alg, io.name, io, _local_ictx, _local_ictx); + } } - } - for (auto io : nfo.blueprint->inOuts()) { - if (io.type_nfo.base_type != Parameterized || !io.type_nfo.same_as.empty()) { - addToInstantiationContext(alg, io.name, io, _local_ictx, _local_ictx); + for (auto io : nfo.blueprint->inOuts()) { + if (io.type_nfo.base_type != Parameterized || !io.type_nfo.same_as.empty()) { + addToInstantiationContext(alg, io.name, io, _local_ictx, _local_ictx); + } } } }