diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2019-05-20 14:43:25 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2019-05-21 10:34:00 +0300 |
commit | bfe7fdedfc3b67fcdfcc962fee7fbe59a9c34458 (patch) | |
tree | 0c53db9a67e1ca9d6c6fc1489d0f888cf679a92e /source | |
parent | 2cec669d3456034adb41c9ab43598089f56f7554 (diff) |
Fix T64867: crash when changin image source to Movie
thx @Gvgeo for adding the python/RNA case as well.
Reviewers: brecht
Maniphest Tasks: T64867
Differential Revision: https://developer.blender.org/D4902
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/space_image/image_buttons.c | 5 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_image.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/editors/space_image/image_buttons.c b/source/blender/editors/space_image/image_buttons.c index 8fada528f48..b32f5ef6d9e 100644 --- a/source/blender/editors/space_image/image_buttons.c +++ b/source/blender/editors/space_image/image_buttons.c @@ -1254,7 +1254,10 @@ void uiTemplateImageInfo(uiLayout *layout, bContext *C, Image *ima, ImageUser *i int duration = 0; if (ima->source == IMA_SRC_MOVIE && BKE_image_has_anim(ima)) { - duration = IMB_anim_get_duration(((ImageAnim *)ima->anims.first)->anim, IMB_TC_RECORD_RUN); + struct anim *anim = ((ImageAnim *)ima->anims.first)->anim; + if (anim) { + duration = IMB_anim_get_duration(anim, IMB_TC_RECORD_RUN); + } } if (duration > 0) { diff --git a/source/blender/makesrna/intern/rna_image.c b/source/blender/makesrna/intern/rna_image.c index 11abe968470..7f2eccf421e 100644 --- a/source/blender/makesrna/intern/rna_image.c +++ b/source/blender/makesrna/intern/rna_image.c @@ -332,7 +332,10 @@ static int rna_Image_frame_duration_get(PointerRNA *ptr) int duration = 1; if (BKE_image_has_anim(ima)) { - duration = IMB_anim_get_duration(((ImageAnim *)ima->anims.first)->anim, IMB_TC_RECORD_RUN); + struct anim *anim = ((ImageAnim *)ima->anims.first)->anim; + if (anim) { + duration = IMB_anim_get_duration(anim, IMB_TC_RECORD_RUN); + } } else { /* acquire ensures ima->anim is set, if possible! */ |