ShaderNode: Fix possible crash with incompatible types

This commit is contained in:
Jérôme Leclercq
2020-10-30 23:08:03 +01:00
parent 5ca9776755
commit e5cd461bae
9 changed files with 26 additions and 21 deletions

View File

@@ -77,10 +77,9 @@ void VecFloatMul::setInData(std::shared_ptr<QtNodes::NodeData> value, int index)
{
case 0:
{
if (value)
if (value && value->type().id == FloatData::Type().id)
{
assert(dynamic_cast<FloatData*>(value.get()) != nullptr);
m_lhs = std::static_pointer_cast<FloatData>(value);
}
else
@@ -91,10 +90,9 @@ void VecFloatMul::setInData(std::shared_ptr<QtNodes::NodeData> value, int index)
case 1:
{
if (value)
if (value && value->type().id == VecData::Type().id)
{
assert(dynamic_cast<VecData*>(value.get()) != nullptr);
m_rhs = std::static_pointer_cast<VecData>(value);
}
else