diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-10-12 17:43:56 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-10-12 17:43:56 +0400 |
commit | 4689d78b5c739ed67d915d46972de9c5d8404c48 (patch) | |
tree | 2eeb4a549e214aa1052fe3ee786b164570737df5 /source | |
parent | 89dd5e933f01853abdba9249dd2823ac53562c6d (diff) |
Workaround for #28864: crash rendering out file with audio, due to scene audio
channels being set to invalid value 0. The cause of this is unclear, this adds
a version patch just to be safe, in case it turns out to be a common issue.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 331eeb9a959..7d84eeba9c8 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -12163,9 +12163,16 @@ static void do_versions(FileData *fd, Library *lib, Main *main) Scene *sce; bNodeTree *ntree; - for (sce=main->scene.first; sce; sce=sce->id.next) + for (sce=main->scene.first; sce; sce=sce->id.next) { + /* there are files with invalid audio_channels value, the real cause + is unknown, but we fix it here anyway to avoid crashes */ + if(sce->r.ffcodecdata.audio_channels == 0) + sce->r.ffcodecdata.audio_channels = 2; + if (sce->nodetree) do_versions_nodetree_image_default_alpha_output(sce->nodetree); + } + for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next) do_versions_nodetree_image_default_alpha_output(ntree); } |