From 24b2fe50f3ec13ac538a0fb504d53016331b17bb Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Fri, 24 May 2019 12:10:27 +0200 Subject: Fix T64829: Active point of Curve objects is not displayed correctly three issues here: - when curves had multiple nurbs, the active vert is per nurb [curve_create_edit_data_and_handles() wasnt taking that into account] - code could go wrong when points where hidden - upon selection, tag curve ID_RECALC_COPY_ON_WRITE for batch cache update Reviewers: brecht, fclem, sergey Maniphest Tasks: T64829 Differential Revision: https://developer.blender.org/D4943 --- source/blender/editors/curve/editcurve.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/editors/curve') diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c index 8d131ee28ba..48094c7a3eb 100644 --- a/source/blender/editors/curve/editcurve.c +++ b/source/blender/editors/curve/editcurve.c @@ -4895,7 +4895,7 @@ bool ED_curve_editnurb_select_pick( ED_curve_deselect_all(((Curve *)ob_iter->data)->editnurb); - DEG_id_tag_update(ob_iter->data, ID_RECALC_SELECT); + DEG_id_tag_update(ob_iter->data, ID_RECALC_SELECT | ID_RECALC_COPY_ON_WRITE); WM_event_add_notifier(C, NC_GEOM | ND_SELECT, ob_iter->data); } MEM_freeN(objects); @@ -5010,7 +5010,7 @@ bool ED_curve_editnurb_select_pick( ED_object_base_activate(C, basact); } - DEG_id_tag_update(obedit->data, ID_RECALC_SELECT); + DEG_id_tag_update(obedit->data, ID_RECALC_SELECT | ID_RECALC_COPY_ON_WRITE); WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data); return true; -- cgit v1.2.3