Fix T39635: Crash convening curve to mesh
This commit is contained in:
parent
3ab0a4da73
commit
c61eb64f06
Notes:
blender-bot
2023-02-14 10:49:43 +01:00
Referenced by issue #39635, Convert curve to mesh : Blender crash
|
@ -149,6 +149,7 @@ void BKE_nurb_knot_calc_v(struct Nurb *nu);
|
|||
/* nurb checks if they can be drawn, also clamp order func */
|
||||
bool BKE_nurb_check_valid_u(struct Nurb *nu);
|
||||
bool BKE_nurb_check_valid_v(struct Nurb *nu);
|
||||
bool BKE_nurb_check_valid_uv(struct Nurb *nu);
|
||||
|
||||
bool BKE_nurb_order_clamp_u(struct Nurb *nu);
|
||||
bool BKE_nurb_order_clamp_v(struct Nurb *nu);
|
||||
|
|
|
@ -3801,6 +3801,16 @@ bool BKE_nurb_check_valid_v(struct Nurb *nu)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool BKE_nurb_check_valid_uv(struct Nurb *nu)
|
||||
{
|
||||
if (!BKE_nurb_check_valid_u(nu))
|
||||
return false;
|
||||
if ((nu->pntsv > 1) && !BKE_nurb_check_valid_v(nu))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool BKE_nurb_order_clamp_u(struct Nurb *nu)
|
||||
{
|
||||
bool changed = false;
|
||||
|
|
|
@ -1216,7 +1216,7 @@ void BKE_displist_make_surf(Scene *scene, Object *ob, ListBase *dispbase,
|
|||
curve_calc_modifiers_pre(scene, ob, &nubase, for_render, use_render_resolution);
|
||||
|
||||
for (nu = nubase.first; nu; nu = nu->next) {
|
||||
if (for_render || nu->hide == 0) {
|
||||
if ((for_render || nu->hide == 0) && BKE_nurb_check_valid_uv(nu)) {
|
||||
int resolu = nu->resolu, resolv = nu->resolv;
|
||||
|
||||
if (use_render_resolution) {
|
||||
|
|
Loading…
Reference in New Issue