diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-10-24 16:26:14 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-10-24 16:26:14 +0400 |
commit | a29c3b2bbbe24b21b900ecfe103c33c8f1a0a7d1 (patch) | |
tree | 8826c10ab6a7632536a2dce0677e0148d5e7b8ce /source/blender/blenkernel/intern | |
parent | 5a6605610dbdc78515343bae048fa3d10b23533c (diff) |
fix [#28961] FCurves.range() returns wrong values for one-point curves (sic!)
also fix for case where verts were treated as found but were infact not because none were selected.
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/action.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c index ac0697ddbf9..e46e2df8353 100644 --- a/source/blender/blenkernel/intern/action.c +++ b/source/blender/blenkernel/intern/action.c @@ -137,14 +137,19 @@ void make_local_action(bAction *act) // XXX: double-check this; it used to be just single-user check, but that was when fake-users were still default if ((act->id.flag & LIB_FAKEUSER) && (act->id.us<=1)) { - id_clear_lib_data(&bmain->action, (ID *)act); + act->id.lib= NULL; + act->id.flag= LIB_LOCAL; + new_id(&bmain->action, (ID *)act, NULL); return; } BKE_animdata_main_cb(bmain, make_localact_init_cb, &mlac); if (mlac.local && mlac.lib==0) { - id_clear_lib_data(&bmain->action, (ID *)act); + act->id.lib= NULL; + act->id.flag= LIB_LOCAL; + //make_local_action_channels(act); + new_id(&bmain->action, (ID *)act, NULL); } else if (mlac.local && mlac.lib) { mlac.actn= copy_action(act); |