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:
authorGermano Cavalcante <germano.costa@ig.com.br>2021-07-15 02:38:18 +0300
committerGermano Cavalcante <germano.costa@ig.com.br>2021-07-16 15:53:00 +0300
commit15cfb375a39b9d9e35e8c83942edb8f43788427f (patch)
tree386fc625c36bc25873fe50bff7dd99bf3dbe0328 /source/blender/gpu
parente78e235cc5ea3bb4c02cc4e8a39a47f611db1f56 (diff)
Fix T89782: Segfault populating popup menu with dimensions above the opengl limit
The crash happens because `GPU_offscreen_create` is called with `err_out` `NULL`. This patch proposes a solution within the `GPU_offscreen_create` itself and raises an error report in the interface if a menu is called with dimensions beyond what is supported. Ref T89782 Maniphest Tasks: T89782 Differential Revision: https://developer.blender.org/D11927
Diffstat (limited to 'source/blender/gpu')
-rw-r--r--source/blender/gpu/intern/gpu_framebuffer.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/gpu/intern/gpu_framebuffer.cc b/source/blender/gpu/intern/gpu_framebuffer.cc
index 1293cc0953d..4bb13d01c2d 100644
--- a/source/blender/gpu/intern/gpu_framebuffer.cc
+++ b/source/blender/gpu/intern/gpu_framebuffer.cc
@@ -609,7 +609,13 @@ GPUOffScreen *GPU_offscreen_create(
}
if ((depth && !ofs->depth) || !ofs->color) {
- BLI_snprintf(err_out, 256, "GPUTexture: Texture allocation failed.");
+ const char error[] = "GPUTexture: Texture allocation failed.";
+ if (err_out) {
+ BLI_snprintf(err_out, 256, error);
+ }
+ else {
+ fprintf(stderr, error);
+ }
GPU_offscreen_free(ofs);
return nullptr;
}