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
path: root/source
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2021-04-29 19:28:25 +0300
committerBrecht Van Lommel <brecht@blender.org>2021-04-29 20:14:57 +0300
commitb4f0d52473382d5f2339d75a391be0871dd86747 (patch)
tree9852f86412e69a4032111cd8f3a01464e20b840c /source
parentf0eda573926fa3adc463db84433644f4be759a0c (diff)
Fix: crash when creating GPU texture from image fails
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/image_gpu.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/source/blender/blenkernel/intern/image_gpu.c b/source/blender/blenkernel/intern/image_gpu.c
index 8847b88d6f2..bb7495437bb 100644
--- a/source/blender/blenkernel/intern/image_gpu.c
+++ b/source/blender/blenkernel/intern/image_gpu.c
@@ -408,17 +408,19 @@ static GPUTexture *image_get_gpu_texture(Image *ima,
store_premultiplied,
limit_gl_texture_size);
- GPU_texture_wrap_mode(*tex, true, false);
+ if (*tex) {
+ GPU_texture_wrap_mode(*tex, true, false);
- if (GPU_mipmap_enabled()) {
- GPU_texture_generate_mipmap(*tex);
- if (ima) {
- ima->gpuflag |= IMA_GPU_MIPMAP_COMPLETE;
+ if (GPU_mipmap_enabled()) {
+ GPU_texture_generate_mipmap(*tex);
+ if (ima) {
+ ima->gpuflag |= IMA_GPU_MIPMAP_COMPLETE;
+ }
+ GPU_texture_mipmap_mode(*tex, true, true);
+ }
+ else {
+ GPU_texture_mipmap_mode(*tex, false, true);
}
- GPU_texture_mipmap_mode(*tex, true, true);
- }
- else {
- GPU_texture_mipmap_mode(*tex, false, true);
}
}
@@ -427,7 +429,9 @@ static GPUTexture *image_get_gpu_texture(Image *ima,
BKE_image_release_ibuf(ima, ibuf_intern, NULL);
}
- GPU_texture_orig_size_set(*tex, ibuf_intern->x, ibuf_intern->y);
+ if (*tex) {
+ GPU_texture_orig_size_set(*tex, ibuf_intern->x, ibuf_intern->y);
+ }
return *tex;
}