display: fix crash with oversized p3d_LightSource array

This was a regression in 89f1a0e63c

Closes #897
This commit is contained in:
rdb 2020-04-02 12:16:05 +02:00
parent 94571aac93
commit 088a1f3774

View File

@ -1656,6 +1656,7 @@ fetch_specified_member(const NodePath &np, CPT_InternalName attrib, LMatrix4 &t)
if (attrib == IN_color) {
if (node == nullptr) {
t = LMatrix4::ident_mat();
return;
}
Light *light = node->as_light();
nassertv(light != nullptr);
@ -1665,6 +1666,7 @@ fetch_specified_member(const NodePath &np, CPT_InternalName attrib, LMatrix4 &t)
} else if (attrib == IN_ambient) {
if (node == nullptr) {
t = LMatrix4::ident_mat();
return;
}
Light *light = node->as_light();
nassertv(light != nullptr);
@ -1679,6 +1681,7 @@ fetch_specified_member(const NodePath &np, CPT_InternalName attrib, LMatrix4 &t)
} else if (attrib == IN_diffuse) {
if (node == nullptr) {
t = LMatrix4::ident_mat();
return;
}
Light *light = node->as_light();
nassertv(light != nullptr);
@ -1693,6 +1696,7 @@ fetch_specified_member(const NodePath &np, CPT_InternalName attrib, LMatrix4 &t)
} else if (attrib == IN_specular) {
if (node == nullptr) {
t = LMatrix4::ident_mat();
return;
}
Light *light = node->as_light();
nassertv(light != nullptr);