diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-08-13 21:25:03 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-08-13 21:25:03 +0400 |
commit | be513d1b15630b629d09a6fdfa6ada808586a9dc (patch) | |
tree | 04e41990bcdb34d645ed14c073e4e31aa5670937 /source/blender/blenloader | |
parent | 7a3b44cf69b009fc77ffc361f5500e20131faa59 (diff) |
fix for missing NULL checks when sequence-strip pointers become NULL because of problems with library linking.
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 74decee6c25..e7722e07442 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -4842,19 +4842,27 @@ static void lib_link_scene(FileData *fd, Main *main) } if (seq->clip) { seq->clip = newlibadr(fd, sce->id.lib, seq->clip); - seq->clip->id.us++; + if (seq->clip) { + seq->clip->id.us++; + } } if (seq->mask) { seq->mask = newlibadr(fd, sce->id.lib, seq->mask); - seq->mask->id.us++; + if (seq->mask) { + seq->mask->id.us++; + } + } + if (seq->scene_camera) { + seq->scene_camera = newlibadr(fd, sce->id.lib, seq->scene_camera); } - if (seq->scene_camera) seq->scene_camera = newlibadr(fd, sce->id.lib, seq->scene_camera); if (seq->sound) { seq->scene_sound = NULL; - if (seq->type == SEQ_TYPE_SOUND_HD) + if (seq->type == SEQ_TYPE_SOUND_HD) { seq->type = SEQ_TYPE_SOUND_RAM; - else + } + else { seq->sound = newlibadr(fd, sce->id.lib, seq->sound); + } if (seq->sound) { seq->sound->id.us++; seq->scene_sound = sound_add_scene_sound_defaults(sce, seq); |