Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-02-12 00:15:30 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-02-12 00:19:49 +0300
commite76364adcd3810134f0b9a55fd7fa40de72a008b (patch)
treef6b0232d5f1ad7470302729f5bc1b5b3ad158165 /source/blender/blenkernel/intern/image.c
parent1ac6e4c7a2f0c3a38468edb0c501e52c0aea5f28 (diff)
Image: Fix non-deterministic behavior of image sequence loading
The issue was caused by usage of non-initialized image user, which could have different settings, causing some random image being loaded or not loaded at all. This caused non-deterministic behavior of Cycles image loading because it was querying image information from several places. This fixes crash reported in T50616, but it's not a complete fix because preview rendering in material is wrong (same wrong as in 2.78a release).
Diffstat (limited to 'source/blender/blenkernel/intern/image.c')
-rw-r--r--source/blender/blenkernel/intern/image.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c
index a2d94ccc478..318f6480aaf 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -3159,7 +3159,7 @@ static ImBuf *load_sequence_single(Image *ima, ImageUser *iuser, int frame, cons
struct ImBuf *ibuf;
char name[FILE_MAX];
int flag;
- ImageUser iuser_t;
+ ImageUser iuser_t = {0};
/* XXX temp stuff? */
if (ima->lastframe != frame)
@@ -3167,8 +3167,12 @@ static ImBuf *load_sequence_single(Image *ima, ImageUser *iuser, int frame, cons
ima->lastframe = frame;
- if (iuser)
+ if (iuser) {
iuser_t = *iuser;
+ }
+ else {
+ /* TODO(sergey): Do we need to initialize something here? */
+ }
iuser_t.view = view_id;
BKE_image_user_file_path(&iuser_t, ima, name);