diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2015-04-07 17:08:46 +0300 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2015-04-07 17:08:46 +0300 |
commit | f9f3c29a3a5b558e09c36076521bdafc91e7e326 (patch) | |
tree | d15f887e76e5c32a70a68d29c6e93dc3811091cd /source/blender/blenloader | |
parent | cc78664d50c6ae82d139552283ede467b0cf28cc (diff) |
Fix crash when changing proxy storage type for editing (was own
stupidity casting from Scene to Editing in RNA)
Move versioning for proxy storage to multiview version check (not really
correct but it was orphaned before and it doesn't hurt either).
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/versioning_270.c | 34 |
1 files changed, 12 insertions, 22 deletions
diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c index 70c7cc9e878..1b91d3d869e 100644 --- a/source/blender/blenloader/intern/versioning_270.c +++ b/source/blender/blenloader/intern/versioning_270.c @@ -708,28 +708,6 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) } FOREACH_NODETREE_END } - if (!DNA_struct_elem_find(fd->filesdna, "Sequence", "char", "storage")) { - Scene *scene; - Sequence *seq; - -#define SEQ_USE_PROXY_CUSTOM_DIR (1 << 19) -#define SEQ_USE_PROXY_CUSTOM_FILE (1 << 21) - - for (scene = main->scene.first; scene; scene = scene->id.next) { - SEQ_BEGIN (scene->ed, seq) { - if (seq->strip && seq->strip->proxy) { - if (seq->flag & SEQ_USE_PROXY_CUSTOM_DIR) - seq->strip->proxy->storage = SEQ_STORAGE_PROXY_CUSTOM_DIR; - if (seq->flag & SEQ_USE_PROXY_CUSTOM_FILE) - seq->strip->proxy->storage = SEQ_STORAGE_PROXY_CUSTOM_FILE; - } - } - SEQ_END - } -#undef SEQ_USE_PROXY_CUSTOM_DIR -#undef SEQ_USE_PROXY_CUSTOM_FILE - } - if (!MAIN_VERSION_ATLEAST(main, 274, 4)) { SceneRenderView *srv; wmWindowManager *wm; @@ -753,6 +731,18 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main) SEQ_BEGIN (scene->ed, seq) { seq->stereo3d_format = MEM_callocN(sizeof(Stereo3dFormat), "Stereo Display 3d Format"); + +#define SEQ_USE_PROXY_CUSTOM_DIR (1 << 19) +#define SEQ_USE_PROXY_CUSTOM_FILE (1 << 21) + if (seq->strip && seq->strip->proxy && !seq->strip->proxy->storage) { + if (seq->flag & SEQ_USE_PROXY_CUSTOM_DIR) + seq->strip->proxy->storage = SEQ_STORAGE_PROXY_CUSTOM_DIR; + if (seq->flag & SEQ_USE_PROXY_CUSTOM_FILE) + seq->strip->proxy->storage = SEQ_STORAGE_PROXY_CUSTOM_FILE; + } +#undef SEQ_USE_PROXY_CUSTOM_DIR +#undef SEQ_USE_PROXY_CUSTOM_FILE + } SEQ_END } |