diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-05-26 03:11:42 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-05-26 03:35:32 +0400 |
commit | eaf815f14a928f7d99db93013c9ad8daae539094 (patch) | |
tree | 39dbe47367aa37c83ef0f9455e4ea8f707e1acca /source/blender/makesrna | |
parent | f574b1ca3cda82b2cffa992bd4288c44e99cc643 (diff) |
Fix for curve having invalid active vertex after setting type
also allow passing NULL vertex to BKE_curve_nurb_vert_active_set
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_curve.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c index 79c19c4c246..29f1dd5f29f 100644 --- a/source/blender/makesrna/intern/rna_curve.c +++ b/source/blender/makesrna/intern/rna_curve.c @@ -323,8 +323,15 @@ static int rna_Nurb_length(PointerRNA *ptr) static void rna_Nurb_type_set(PointerRNA *ptr, int value) { + Curve *cu = (Curve *)ptr->id.data; Nurb *nu = (Nurb *)ptr->data; - BKE_nurb_type_convert(nu, value, true); + const int pntsu_prev = nu->pntsu; + + if (BKE_nurb_type_convert(nu, value, true)) { + if (nu->pntsu != pntsu_prev) { + cu->actvert = CU_ACT_NONE; + } + } } static void rna_BPoint_array_begin(CollectionPropertyIterator *iter, PointerRNA *ptr) |