diff options
Diffstat (limited to 'source/blender/nodes/composite/nodes/node_composite_movieclip.cc')
-rw-r--r-- | source/blender/nodes/composite/nodes/node_composite_movieclip.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/nodes/composite/nodes/node_composite_movieclip.cc b/source/blender/nodes/composite/nodes/node_composite_movieclip.cc index ec95de3da18..b9d9620a214 100644 --- a/source/blender/nodes/composite/nodes/node_composite_movieclip.cc +++ b/source/blender/nodes/composite/nodes/node_composite_movieclip.cc @@ -239,7 +239,7 @@ class MovieClipOperation : public NodeOperation { GPUTexture *get_movie_clip_texture() { MovieClip *movie_clip = get_movie_clip(); - MovieClipUser *movie_clip_user = static_cast<MovieClipUser *>(bnode().storage); + MovieClipUser *movie_clip_user = get_movie_clip_user(); BKE_movieclip_user_set_frame(movie_clip_user, context().get_frame_number()); return BKE_movieclip_get_gpu_texture(movie_clip, movie_clip_user); } @@ -247,13 +247,20 @@ class MovieClipOperation : public NodeOperation { void free_movie_clip_texture() { MovieClip *movie_clip = get_movie_clip(); - return BKE_movieclip_free_gputexture(movie_clip); + if (movie_clip) { + BKE_movieclip_free_gputexture(movie_clip); + } } MovieClip *get_movie_clip() { return (MovieClip *)bnode().id; } + + MovieClipUser *get_movie_clip_user() + { + return static_cast<MovieClipUser *>(bnode().storage); + } }; static NodeOperation *get_compositor_operation(Context &context, DNode node) |