diff options
author | Joshua Leung <aligorith@gmail.com> | 2015-03-01 19:04:38 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2015-03-01 19:05:04 +0300 |
commit | 2058505da4e52d9fe1920ab11935dfdf99c1edbc (patch) | |
tree | bf3cdf05a8b97e1f5f68ad44135f2e5d3c1fa5dd /source/blender/blenkernel/intern | |
parent | f076eb482b3e2e169b2bbf7ca609f5e747f9709f (diff) |
Bugfix T43851: Creating a new action after stashing crashes blender
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/nla.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/nla.c b/source/blender/blenkernel/intern/nla.c index 8e143e2303b..9a04312aaab 100644 --- a/source/blender/blenkernel/intern/nla.c +++ b/source/blender/blenkernel/intern/nla.c @@ -1564,6 +1564,12 @@ bool BKE_nla_action_stash(AnimData *adt) NlaTrack *nlt; NlaStrip *strip; + /* sanity check */ + if (ELEM(NULL, adt, adt->action)) { + printf("%s: Invalid argument - %p %p\n", __func__, adt, adt->action); + return false; + } + /* do not add if it is already stashed */ if (BKE_nla_action_is_stashed(adt, adt->action)) return false; @@ -1576,6 +1582,7 @@ bool BKE_nla_action_stash(AnimData *adt) } nlt = add_nlatrack(adt, prev_track); + BLI_assert(nlt != NULL); BLI_strncpy(nlt->name, STASH_TRACK_NAME, sizeof(nlt->name)); BLI_uniquename(&adt->nla_tracks, nlt, STASH_TRACK_NAME, '.', offsetof(NlaTrack, name), sizeof(nlt->name)); @@ -1584,6 +1591,7 @@ bool BKE_nla_action_stash(AnimData *adt) * NOTE: a new user is created here */ strip = add_nlastrip(adt->action); + BLI_assert(strip != NULL); BKE_nlatrack_add_strip(nlt, strip); BKE_nlastrip_validate_name(adt, strip); |